【unity】RPG游戏鼠标指针管理系统【单利模式】(游戏中,不同状态对于不同指针)
2016-06-04 23:14
501 查看
<span style="font-size:18px;">类一:单例cursor类,脚本位于空物体 usingUnityEngine; /// <summary> /// 鼠标指针管理类【单利模式】(游戏中,不同状态对于不同指针) /// </summary> public class CursorManager : MonoBehaviour { /// <summary> /// 私有静态成员 /// </summary> private static CursorManager instance; /// <summary> /// 外部访问,公共静态成员(单例) /// </summary> public static CursorManager GetInstance { get { return instance; } } void Start() { //赋值单例 instance = this; } /// <summary> /// 正常状态指针图 /// </summary> public Texture2D cursorNormal; /// <summary> /// 对话状态指针图 /// </summary> public Texture2D cursorNpcTalk; /// <summary> /// 攻击状态指针图 /// </summary> public Texture2D cursorAttack; /// <summary> /// 锁定状态指针图 /// </summary> public Texture2D cursorLockTarget; /// <summary> /// 拾捡物品状态指针图 /// </summary> public Texture2D cursorPick; /// <summary> /// 指针默认点击热点位置(指针左上角) /// </summary> private Vector2 hotspot = Vector2 .zero; /// <summary> /// 指针类型(Auto:自动选择) /// </summary> private CursorMode mode = CursorMode .Auto; /// <summary> /// 设置默认指针显示图 /// </summary> public void SetNormal() { // 1 显示的指针图 2 默认指针点击的热点位置 3 指针类型 Cursor.SetCursor(cursorNormal, hotspot, mode); } /// <summary> /// player对话时的指针图 /// </summary> public void SetNpcTalk() { // 1 显示的指针图 2 默认指针点击的热点位置 3 指针类型 Cursor.SetCursor(cursorNpcTalk, hotspot, mode); } }</span>
<span style="font-size:18px;">类二:调用单例,脚本位于需要调用的游戏对象 using UnityEngine; using System.Collections; /// <summary> /// 鼠标指针指定区域的指针图显示切换 /// </summary> public class MouseCursor : MonoBehaviour { /// <summary> /// 当鼠标进入指定触发区域的时候 /// </summary> void OnMouseEnter() { //调用单例模式里的指针方法 CursorManager.GetInstance.SetNormal(); } /// <summary> /// 当鼠标指针离开指定触发区域的时候 /// </summary> void OnMouseExit() { //调用单例模式里的指针方法 CursorManager.GetInstance.SetNpcTalk(); } }</span>转载:http://www.jianshu.com/p/fba47c69879d?utm_campaign=haruki&utm_content=note&utm_medium=reader_share&utm_source=qqutm_campaign=haruki&utm_content=note&utm_medium=reader_share&utm_source=qq
相关文章推荐
- 在Unity内使用对象池和单例模式
- unity android设备上查看log输出
- 解构Unity的腳本物件模型
- Unity游戏接入百度移动广告
- unity 鼠标手势的左右滑动
- Unity 3D:访问另一个C#类中的属性或方法
- Unity3D 之武器系统冷却功能的实现方式
- unity3d 中文乱码解决方法——cs代码文件格式批量转化UTF8
- unity 点击事件 点击 按钮还是屏幕
- Unity3D架构系列之- FSM有限状态机设计一
- Unity学习日常问题记录五--3dMax导入模型的一些问题
- Unity从零开始制作飞机大战
- Unity3D 之OnTriggerEnter和OnCollisionEnter方法的一点个人心得
- Unity 实现鼠标拖动3D物体
- unity 常用Attribute
- unity使用vuforia实现模型AR效果
- 腾讯新版MSDK for Unity
- Unity滚动视图的制作
- EasyTouch的使用
- [置顶] unity3d 5.0以上打包安卓apk部分手机黑屏问题,尤其魅族手机