自己使用的Unity2018和VS2019版。
文章目录
先设置游戏内鼠标形状
第一步
第二步
第三步 拖入素材
触碰其他物体改变形状
创建一个空物体
创建一个
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 () {
}
}
若需要更多形状,可以在创建物体和类,方法代码,基本相同,需要改的就是方法名和触碰到物体后的形状名。
这样就可以实现两种需求了。
感谢大佬们捧场
扫描二维码关注公众号,回复:
13055599 查看本文章