NGUI里面怎么得到鼠标当前所点击的物体
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
NGUI里面怎么获得当前鼠标点击的对象
当我们使用unity3d的插件NGUI时会遇到编辑界面有多个UI对象,有时我们需要根据点击的对象来执行不同的操作,但是我们怎么才能得到当前鼠标所点击的UI对象?进一步来说该问题就等价于怎么实现当我们的鼠标点击相应的UI对象时输出该UI对象的名字。下面就来看看怎么实现(本人再网上也看了很多方法,但是对于NGUI来说等于是达到本人需要的5%,于是在自己的摸索下通过UICamera.SelectedObject的属性终于解决了,现与大家分享)
实验的目的:通过点击四个不同的UI组件,输出不同的内容
实验软件版本:unity3d各版本
实验步骤:
第一步:先在我们的Scene窗口随便创建几个UI,在这里我只是创建了四个一个是头像表情命名为“Sprite3”;两个Input的输入框分别是“1”,“2”;还有一个是label
标签
第二步:为各个UI添加BoxCollider组件,由于Input已具有Boxcollider组件所以不用添加第三步:我们需要明确我们需要得到的组件名字;然后在代码中使用
第四步:在U3d里面创建一个脚本,名字随便;然后在脚本中输入以下代码:
//在这里只说明精灵和标签,另两个输入框只需要按照同样的方法
//声明赋值即可
GameObject a;
GameObject b;
Void Start()
{
a=GameObject.Find(“Sprite3”);
b=GameObject.Find(“Label4”);
}
Void Update()
{
//UICamera.selectedObject在NGUI手册中原以为手动选择对象
//其实就是鼠标点击的对象,它的声明是
// GameObjectUICamera.selectedObject即返回的是一个对象
//所以通过下面方法可以确定我们的点击对象并输出
If(UICamera.selectedObject==a) Debug.Log();
If(UICamera.selectedObject==b) Debug.Log()
}
注:本文章为原创如有引用请注明出处;