Unity 设置游戏内鼠标形状和触碰NPC改变形状

自己使用的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 () {
	}
}

若需要更多形状,可以在创建物体和类,方法代码,基本相同,需要改的就是方法名和触碰到物体后的形状名。

这样就可以实现两种需求了。
感谢大佬们捧场

  • 7
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值