UGUI事件监听总结
来源:互联网 发布:ios6.1.3软件源 编辑:程序博客网 时间:2024/06/11 05:14
先以PointerClick为例。这个是用于某点点击事件。其他事件都可以根据相同的办法调用。
之所以使用PointerClick为例。是因为在最后笔者会提到一个特殊的实现方式。而相比于其他事件类型,有且仅有Click事件存在特殊实现。
我们要实现事件主要有3种方式:
方式一:继承基础接口实现
步骤一:创建ClickObject脚本。继承MonoBehaviour和IPointerClickHandler。
步骤二:实现public void OnPointerClick(PointerEventData eventData)方法:
步骤三:创建一个名为Panel_IPointer的空对象。并且将ClickObject脚本附加到对象上。
步骤四:启动,并点击Panel_IPointer对象。在Console输出如下:
方式二:Unity3D编辑器操作设置实现
步骤一:创建一个C#脚本。在脚本中添加一个public方法。
步骤二:创建一个命名为Empty的UI对象,用于接收和响应点击事件。创建一个名为Panel的UI对象,用于触发点击事件。
步骤三:Panel对象添加EventTrigger组件," Add New" -> 选择" PointerClick"。将Empty对象拖拽到触发者位置。然后点击"No Function"选择我们写在Test脚本中的OnTestClick事件。
步骤四:设置好这些之后。我们的事件触发就已经完成了。运行Unity3D。点击窗口中Panel对象。Console输出内容如下:
方式三:程序动态设置实现
我们在日常的开发中。可能需要动态的需要变更绑定的事件。那么我们如何才能使用C#代码控制绑定触发事件呢?
下面我们就介绍代码控制。ScriptControl.cs脚本
using UnityEngine;using System.Collections;using UnityEngine.UI;public class BtnControl : MonoBehaviour { // Use this for initialization void Start () { var button = transform.gameObject.GetComponent<Button>(); if (button != null) { button.onClick.RemoveAllListeners(); button.onClick.AddListener(TestClick); } } public void TestClick() { Debug.Log("Test Click. This is Type 4"); } // Update is called once per frame void Update () { }}
- UGUI事件监听总结
- 【UGUI】UGUI的事件监听
- uGUI事件监听
- UGUI 按钮监听事件
- 【Unity3D ugui】事件监听机制
- UGUI的事件监听机制
- UGUI的按钮监听事件
- UGUI穿透3D世界判断&&UGUI全事件监听
- 【Unity3D ugui】简单控件的事件监听
- UGUI 按钮的监听事件系统
- UGUI Toggle的监听事件绑定
- UGUI-仿照NGUI的事件监听机制
- UGUI的按钮监听事件系统
- java事件监听总结
- 控件监听事件总结
- UGUI控件之按钮的监听事件系统
- unity3D 在UGUI中动态添加button的监听事件
- ToLua学习笔记,使用委托,监听UGUI组件事件
- java开发问题收集
- Keil编译后的Code,RO,RW,ZI分别表示什么以及和芯片Flash、SRAM的对应关系
- 【代码笔记】iOS-使用MD5加密
- 依据注册日期查询出对应渠道留存
- wampserver 部署php项目出现问题的解决方式
- UGUI事件监听总结
- VS2010提示“不允许指针指向不完整的类类型”
- Java内部类(4):为什么方法传递给匿名内部类或局部内部类的参数必须是final的
- BZOJ 4789: [CERC2016]Convex Contour
- [Operator Overloading]Set Operations
- C#入门之控制台输入和输出
- 上下框架盒子模型,内嵌DataGrid
- Spring学习笔记(一)Spring环境搭建
- Android UI系列之倒计时