Unity实现鼠标点击物体出现其属性信息框
这几天一直在研究怎么实现点击模型中 的一个部分,弹出该部分对应属性信息
下来说一下OnMouseDown使用方法:
1:选中模型某一个部分作为触发对象,给该部分绑定BoxCollider组件,只有这样此部分才能接收到鼠标点击事件;添加过程为选中目标模块Component-Physics-zhBoxCollider,这样便为模型添加了碰撞组件;
2:写代码,写好的代码绑定到该模块便可以实现点击模型实现想要的效果,实现函数OnMouseDown();
我想在鼠标点击模型时弹出模型对应属性信息,因此写了下面一段函数。
using UnityEngine;
using System.Collections;
public class ObjectInfo : MonoBehaviour {
private bool flag;
void Start(){
flag = false;
}
void OnMouseDown(){
flag = true;
}
void OnGUI(){
if(flag){
GUI.Box (new Rect (800, 20, 200, 200), "流量信息");
GUILayout.BeginArea (new Rect (800, 40, 200, 200));
GUILayout.Label ("最大流量");
GUILayout.Label ("3Qma");
GUILayout.Label ("当前流量");
GUILayout.Label ("2.13Qma");
GUILayout.EndArea();
}
}
}
走的弯路:一开始想着新建一个空物体把模型中的子物体分离出来便于管理也便于查看,给该物体绑定Boxclooider,绑定脚本,但鼠标点击发挥不了作用,查了半天也不知道是哪儿错了,后来直接给目标模型加上BoxCollider,又绑定了脚本,于是奇迹就发生了。就酱。当然你可以写任何你想要实现的功能。