Unity3D|Unity3D 中UGUI事件系统简述及使用方法总结
Unity3D的UGUI 系统将UI可能触发的事件分为12个类型,即EventTriggerType枚举的12个值
如下图:
文章图片
Paste_Image.png 这里以PointClick为例
方法一:继承基础接口实现
步骤1 , 创建ClickObject脚本。 继承MonoBehaviour和IPointerClickHandler.
文章图片
Paste_Image.png 步骤2. 实现接口方法 OnPointerClick(PointerEventData eventData) ,此处最好是pulick
步骤3. 将本脚本绑定在 ui上运行点击即可触发
方法二:程序动态设置实现
上代码
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;
using UnityEngine.EventSystems;
using UnityEngine.Events;
using System;
///
/// 几种点击事件的方法
/// 这里的 添加 button事件就不写啦
///
public class Test : MonoBehaviour,IPointerClickHandler {
void Start () {var trigger = transform.GetComponent();
if(trigger == null)
{
trigger = transform.gameObject.AddComponent();
}// 实例化 delegete
trigger.triggers = new List();
// 定义需要绑定的事件类型。并设置回调函数
EventTrigger.Entry entry = new EventTrigger.Entry();
// 设置事件类型
entry.eventID = EventTriggerType.PointerClick;
// 设置回调函数
entry.callback = new EventTrigger.TriggerEvent();
UnityAction callback = new UnityAction(OnScriptControll);
// 带参entry.callback.AddListener(callback);
trigger.triggers.Add(entry);
}void OnScriptControll(BaseEventData data)
{
Debug.Log(2222);
}
}
在这里等注意,要使用UI事件, 等添加UnityEngine.EventSystems引用空间, 要使用unity事件 ,等添加UnityEngine.Events引用空间
【Unity3D|Unity3D 中UGUI事件系统简述及使用方法总结】ok完事, 这里就不再写动态添加button的点击事件了,大家也肯定用的很熟练了。
推荐阅读
- {调取该文章的TAG关键词}|以岭药业(002603.SZ)2022中报点评:高基数下仍实现正增长,业绩略超预期
- 原创158:|原创158: 中国式众筹华南同学会走进厦门公益分享活动
- 心中烦闷
- 以人民的名义来一碗赵德汉人生中最后的炸酱面
- 生活中的小常识,关键时刻可以救你一命!
- 如何用Python中turtle画笔制作奥运五环
- vue|Vue项目的记录(四)
- 删除launchpad中无法正常移除的图标
- 区块链探索|[论文分享]去中心化金融(DeFi)安全与防护现状
- 512七年记