Unity2018バージョンとVS2019バージョンを使用しています。
最初にゲームでマウスの形を設定します
最初の一歩
第二段階
3番目のステップは、マテリアルをドラッグすることです
他のオブジェクトに触れて形を変える
空のオブジェクトを
作成します
public class CursorManager : MonoBehaviour {
public static CursorManager _instance;//单例模式
public Texture2D cursor_normal;
public Texture2D cursor_npc_talk;
//若需要更多的形状,则多创建几个 Texture2D类型的
//拖入素材
private Vector2 hotSpot = Vector2.zero;
private CursorMode mode = CursorMode.Auto;//设置光标使用软件呈现还是在支持的平台上使用硬件呈现
// Use this for initialization
void Start () {
_instance = this;
}
public void SetNormal()//设置普通的鼠标形状
{
Cursor.SetCursor(cursor_normal, hotSpot, mode);
}
public void SetNpcTalk()//设置触碰到物体的鼠标形状
{
Cursor.SetCursor(cursor_npc_talk, hotSpot, mode);
}
//这里可以多创建几个触碰到物体的方法
//格式为
//public void SetNpcTalk()方法名可以随便设置
//{
// Cursor.SetCursor(这里为触碰到物体后的形状, hotSpot, mode);
//}
// Update is called once per frame
void Update () {
}
}
材料を入れます
オブジェクトを作成し、NPCクラスをアタッチします。
コードは次のとおりです。
public class NPC : MonoBehaviour {
void OnMouseEnter()//鼠标触碰
{
CursorManager._instance.SetNpcTalk();//调用单例模式中的方法
}
void OnMouseExit()//鼠标离开
{
CursorManager._instance.SetNormal();//调用单例模式中的方法
}
// Use this for initialization
void Start () {
}
// Update is called once per frame
void Update () {
}
}
より多くの形状が必要な場合は、オブジェクトとクラスを作成できます。メソッドコードは基本的に同じです。変更する必要があるのは、オブジェクトに触れた後のメソッド名と形状名です。
このようにして、2つの要件を達成できます。
ご参加いただきありがとうございます