【Unity3D ugui】简单控件的事件监听
2015-06-03 16:04
651 查看
刚开始学Unity3D,最近在看UI这一块,使用Unity编辑器进行事件绑定,总感觉怪怪的,不如使用代码进行监听来得直观。
首先是资源层次结构
然后在Panel上挂Test脚本,脚本里使用委托进行事件监听
首先是资源层次结构
然后在Panel上挂Test脚本,脚本里使用委托进行事件监听
using UnityEngine; using UnityEngine.UI; public class Test : MonoBehaviour { private GameObject buttonObj; private GameObject toggleObj; private GameObject toggleGroupObj; private Button button; private Toggle toggle; private ToggleGroup toggleGroup; void Awake() { buttonObj = gameObject.transform.FindChild("Button").gameObject; toggleObj = gameObject.transform.FindChild("Toggle").gameObject; toggleGroupObj = gameObject.transform.FindChild("ToggleGroup").gameObject; button = buttonObj.GetComponent<Button>(); toggle = toggleObj.GetComponent<Toggle>(); toggleGroup = toggleGroupObj.GetComponent<ToggleGroup>(); } void Start() { //lambda表达式转换为委托类型 toggle.onValueChanged.AddListener((bool value) => OnToggleClick(toggle, value)); //匿名委托调用 button.onClick.AddListener(delegate() { Debug.Log("toggle is " + (toggle.isOn ? "On" : "Off")); }); } public void OnToggleClick(Toggle toggle, bool value) { Debug.Log("toggle change " + (value ? "On" : "Off")); } }
相关文章推荐
- Unity Camera
- Unity Rigidbody
- Unity3D开发 - Unity3d与iOS交互开发(接入平台SDK)
- Unity中实现全局管理类的几种方式
- Unity5.0与Android交互
- Unity3D开发 - 生成unitypackage包
- Unity3D开发 - 导出iOS项目
- 高通AR增强现实多卡识别和扩展跟踪Unity
- Unity3d_Stats和优化
- Unity在切换横竖屏时闪退的bug
- 设计战斗引导剧情(欢迎探讨)
- Unity- 学习笔记笔记BroadCastMessage
- Unity3D调用自己封装的dll
- unity5, 在mac下多开
- Unity5.0 RPG角色扮演历险类游戏之 森林历险记
- Unity Android
- Unity区分平台编译
- Unity3d 使用UGUI实现button其他事件处理
- Unity学习疑问记录之界面适配
- 手游频繁崩溃”闪退”? 从程序上找原因