您的位置:首页 > 移动开发 > Unity3D

【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
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: