Unity3d 地图

using UnityEngine;
using System.Collections;

public class Map : MonoBehaviour {
    public GameObject player;//要定位的物体、人物
    //设备在地图上的信息
    [System.Serializable]
    public class Equipment {
        public Texture2D m_texture;//按钮的背景图(设备缩略图)
        public Rect m_rect;//按钮的位置及大小
        public string m_tip;//鼠标移动到设备缩略图(按钮)上的提示信息
        public Vector3 m_position;//按钮点击后摄像机跳转的位置
        public Vector3 m_quaternion;//按钮点击后摄像机跳转的角度
    }
    public Equipment[] equip;
    private Equipment tempEquip;

    void OnGUI() {
        for (int i = 0; i < equip.Length; ++i) {
            tempEquip = equip[i];//保存当前按钮的信息
            if (GUI.Button(tempEquip.m_rect, new GUIContent(tempEquip.m_texture, tempEquip.m_tip)))//绘制按钮(设备图标)
            {
                player.transform.position = tempEquip.m_position;//更改Player的位置
                player.transform.eulerAngles = tempEquip.m_quaternion;//更改Player的角度
            }
        }
        GUI.Label(new Rect(Input.mousePosition.x + 10, Screen.height - Input.mousePosition.y - 10, 300, 30), GUI.tooltip);//显示提示信息
    }
}

你可能感兴趣的:(unity3d)