gpt4 book ai didi

c# - 如何使用标志将鼠标光标更改为默认或其他纹理?

转载 作者:行者123 更新时间:2023-12-04 10:10:09 25 4
gpt4 key购买 nike

第一个处理鼠标光标的脚本:

using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class HandleMouseCursor : MonoBehaviour
{
public bool useDefaultCursor = true;
public Texture2D mouse;
public Texture2D hand;
public Texture2D grab;
public CursorMode cursorMode = CursorMode.Auto;
public Vector2 hotSpot = Vector2.zero;

// Use this for initialization
void Start ()
{
if(useDefaultCursor == true)
{
mouse = Texture2D.def
}

setMouse();
}

// Update is called once per frame
void Update ()
{

}

public void setMouse()
{
Cursor.SetCursor(mouse, hotSpot, cursorMode);
}

public void setHand()
{
Cursor.SetCursor(hand, hotSpot, cursorMode);
}

public void setGrab()
{
Cursor.SetCursor(grab, hotSpot, cursorMode);
}
}

我添加了一个标志:useDefaultCursor
然后尝试开始使用它:
if(useDefaultCursor == true)
{
mouse = Texture2D.def
}

但不确定如何继续 Texture2D 没有默认属性。

第二个脚本使用第一个方法:
using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class UpdateCursor : MonoBehaviour
{
HandleMouseCursor cursor;
bool carrying;

// Use this for initialization
void Start ()
{
cursor = GameObject.FindGameObjectWithTag("MainCamera").GetComponent<HandleMouseCursor>();
}

// Update is called once per frame
void Update ()
{
if (carrying)
cursor.setGrab();
}

private void OnMouseEnter()
{
cursor.setHand();
}

private void OnMouseExit()
{
cursor.setMouse();
}

private void OnMouseDown()
{
carrying = true;
}

private void OnMouseUp()
{
carrying = false;
cursor.setMouse();
}
}

我想要做的是使用标志 useDefaultCursor 如果它是真的使用常规的默认鼠标光标
如果它是错误的,如果有任何纹理分配给这些字段,则使用来自公共(public)字段的鼠标纹理。如果根本没有分配纹理,则再次使用默认鼠标光标。

最佳答案

在您的 HandleMouseCursor::setMouse()只需使用 useDefaultCursor如您所愿并写道:

void setMouse()
{
if (useDefaultCursor)
Cursor.SetCursor(null, hotSpot, cursorMode);
else
Cursor.SetCursor(mouse, hotSpot, cursorMode);
}

关于c# - 如何使用标志将鼠标光标更改为默认或其他纹理?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61369810/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com