NGUI里面怎么得到鼠标当前所点击的物体

相关主题
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 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()

}

注:本文章为原创如有引用请注明出处;

相关文档
最新文档