UGUI如何在程序中动态的为按钮绑定方法
来源:互联网 发布:java 多个注解 编辑:程序博客网 时间:2024/06/05 14:56
需要用到两个脚本:
EventTriggerListener .cs
using System.Collections;using System.Collections.Generic;using UnityEngine;using UnityEngine.EventSystems;/// <summary>/// hunk xu/// </summary>public class EventTriggerListener : EventTrigger{ public delegate void VoidDelegate(GameObject go); public VoidDelegate onClick; public VoidDelegate onDown; public VoidDelegate onEnter; public VoidDelegate onExit; public VoidDelegate onUp; public VoidDelegate onSelect; public VoidDelegate onUpdateSelect; static public EventTriggerListener Get(GameObject go) { EventTriggerListener listener = go.GetComponent<EventTriggerListener>(); if (listener == null) listener = go.AddComponent<EventTriggerListener>(); return listener; } public override void OnPointerClick(PointerEventData eventData) { if (onClick != null) onClick(gameObject); } public override void OnPointerDown(PointerEventData eventData) { if (onDown != null) onDown(gameObject); } public override void OnPointerEnter(PointerEventData eventData) { if (onEnter != null) onEnter(gameObject); } public override void OnPointerExit(PointerEventData eventData) { if (onExit != null) onExit(gameObject); } public override void OnPointerUp(PointerEventData eventData) { if (onUp != null) onUp(gameObject); } public override void OnSelect(BaseEventData eventData) { if (onSelect != null) onSelect(gameObject); } public override void OnUpdateSelected(BaseEventData eventData) { if (onUpdateSelect != null) onUpdateSelect(gameObject); }}
UIMain .cs
using System.Collections.Generic;using UnityEngine;using UnityEngine.UI;using UnityEngine.EventSystems;public class UIMain : MonoBehaviour{ public Button Btn01; public Button Btn02; void Start() { if (Btn01 != null) EventTriggerListener.Get(Btn01.gameObject).onClick = OnButtonClick; if (Btn02 != null) EventTriggerListener.Get(Btn02.gameObject).onClick = OnButtonClick; } private void OnButtonClick(GameObject go) { if (go == Btn01.gameObject) { print ("您点击的是btn01"); } else if (go == Btn02.gameObject) { print ("您点击的是btn02"); } }
j将Uimain挂到场景中
FR:海涛高软(hunk Xu) QQ技术交流群:386476712
阅读全文
0 0
- UGUI如何在程序中动态的为按钮绑定方法
- UGUI按钮动态绑定和触发方法
- unity UGUI按钮绑定事件的四种方法
- Unity3D UGUI 按钮事件绑定的4种方法
- Unity3D中避免在点击UGUI的按钮时触发射线检测方法
- Unity UGUI 按钮绑定事件的方式
- flex的datagrid中动态绑定按钮
- 【Unity教程】UGUI中如何动态生成精灵的几种方法
- 在 MVC 中动态绑定下拉菜单的方法
- 获取程序在任务栏中按钮的位置的方法
- 如何:在 ASP.NET 网页中对事件处理程序进行运行时动态绑定
- unity3D 在UGUI中动态添加button的监听事件
- Unity 按钮动态的绑定和触发方法
- vue中如何动态的绑定图片
- vue中如何动态的绑定图片
- UGUI中使用代码动态绑定触发事件
- UGUI中使用代码动态绑定触发事件
- java中方法的动态绑定
- c语言中getchar()函数一个常见Error
- 采用穷举法,计算并输出任意输入的两整数的最小公倍数。
- NYOJ 33蛇形填数
- Android_TUTK推送需要的相关资料
- 在Java中正确使用wait, notify和notifyAll – 以生产者消费者模型为例
- UGUI如何在程序中动态的为按钮绑定方法
- 用递归方法计算n的阶乘n
- Python生成二维码和生成gif
- 最全MySQL数据库常用命令的总结(必看)
- LeetCode-7-Reverse Integer(C语言实现)
- 安装和配置_VMware Workstation Player
- Two Sum II
- JS判断ios系统的版本号
- layout_constraintDimensionRatio中 H与W的区别