Ngui 五种点击事件实现方式及在3d场景中点击穿透的情况
2014-09-16 14:35
288 查看
本帖最后由 ζއ随风去旅行 于 2014-8-27 11:57 编辑 ngui作为unity界面插件之一中,无疑是最好用,使用最多的了从自学unity到现在界面一直使用它 由于它的持续更新,我在此不得不说,确实很为开发者作想,为什么这么讲呢? 大概在去年吧 当时用的那个版本已经不记得了, 反正就是有个需求,要实现“无限循环”拖动,使用过以前ngui的人就知道当时是没有这个功能的, 后来被自己弄出来没几天,就发现新版本中就自带了这样的东西, 也就是如今ngui列子中的 Endless Scroll Views, 当时,记得好像还心里暗骂了“坑爹”。 好啦,可能稍微有些偏题了,现在进入正题: ngui点击事件我在此分为5种不同写法来总结 一.OnClick OnClick作为传统的单击事件,其实真心好用, 直接 [C#] 纯文本查看 复制代码 using UnityEngine; using System.Collections; public class onclicktest : MonoBehaviour { public void OnClick() { Debug.Log("你通过OnClick点击了我!"); } } 不管你是界面按钮 还是3d物体对象(需要加BoxCollider)都可用 可是,太麻烦,不好管理。 二.SendMessage 1.SendMessage是属于Ngui老版本的一种事件实现方式了,在此就简单说下了 Target:接收按钮消息的游戏对象。 Function Name:接收按钮消息的方法,拥有这个方法的脚本必须绑定在上面Target对象身上。 Trigger:触发的事件。 Include Children :是否让该对象的所有子对象也发送这个点击事件。 缺点:不直观,太多拖动操作,效率略低 三.通过UIButton属性面板附加事件 首先,在代码中写你要做的事情, 如: [C#] 纯文本查看 复制代码 using UnityEngine;using System.Collections; public class ClickTest : MonoBehaviour { //通过UIButton属性面板附加事件,该事件方法必须加public修饰 public void btn_Click() { Debug.Log("你通过UIButton属性面板附加事件点击了我!"); } } 然后,拖动绑该代码定到场景任意对象上, 最后,选择你要点击的按钮,把刚才绑定代码的对象拖到,UIButton属性中的On Click中的Notify上,接着在Method中选择刚写的脚本里的方法就可以了 如图: 此方法个人感觉是SendMessage的升级版,比以前更加直观易懂,适用于刚接触Ngui的人学习使用。 缺点:效率略低,不可用于3d物体 如:Cube 四..Event Listener(推荐) Event Listener选择要挂载的按钮,在Unity导航菜单栏中选择Component->NGUI->Internal ->Event Listener就可以了 代码写法有2种: [C#] 纯文本查看 复制代码 |
相关文章推荐
- Ngui 五种点击事件实现方式及在3d场景中点透的情况
- Ngui 五种点击事件实现方式及在3d场景中点透的情况
- NGUI-五种点击事件实现方式及在3d场景中点透的情况
- Unity3D之NGUI的5种点击事件的实现方式及在3D场景中点透的情况
- Ngui 五种点击事件实现方式及在3d场景点透事件
- Ngui 五种点击事件实现方式
- NGUI在3D场景中点击穿透解决办法
- ListView使用自定义适配器的情况下实现适配器的控件点击事件执行Activity界面中的方法
- Unity 3D NGUI两种事件添加方式比较
- Unity3D开发之NGUI点击事件穿透响应处理
- Button 点击事件onclick实现的四种方式
- android 点击事件 4种实现方式
- NGUI点击按钮时如何屏蔽场景鼠标事件
- iOS实现UIImageView透明区域点击事件穿透
- 点击事件中实现弹出一个选择框(如选择网络设置、选择电话短信联系方式)
- Android中按钮点击事件的四种实现方式
- 2种方式实现ListView中中每一项下的任意控件的点击事件
- 学习GestureDetector中的点击事件的实现方式
- iOS实现UIImageView透明区域点击事件穿透
- Unity 3D物体的点击事件响应以及NGUI坐标和世界坐标的互相转换