Unity入门操作_UGUI_事件_030

Unity3D的uGUI系统的将UI可能触发的事件分为12个类型,即EventTriggerType枚举的12个值。
先以PointerClick为例。这个是用于某点点击事件。其他事件都可以根据相同的办法调用。
这里写图片描述
实现事件主要有3种方式:
方式一:继承基础接口实现
这里写图片描述
步骤一:创建ClickEvent脚本。继承MonoBehaviour和IPointerClickHandler
using UnityEngine;
using System.Collections;
using UnityEngine.EventSystems;
public class Change : MonoBehaviour,IPointerEnterHandler,IPointerExitHandler{

public void OnPointerEnter(PointerEventData eventData)
{
    //进入事件
   transform.localScale= new Vector3(2,2,2);
}
public void OnPointerExit(PointerEventData eventData)
{
    //退出事件
    transform.localScale = new Vector3(1,1,1);
}
// Use this for initialization
void Start () {
}
// Update is called once per frame
void Update () {
}

}
效果如下:
这里写图片描述

步骤二:实现public void OnPointerClick(PointerEventData eventData)方法:
步骤三:创建一个名为Panel_IPointer的UI对象。并且将ClickEventt脚本附加到对象上。
步骤四:启动,并点击Panel_IPointer对象。在Console输出如下:

方式二:Unity3D编辑器操作设置实现
步骤一:创建一个C#脚本。在脚本中添加一个public方法。
步骤二:创建一个命名为Empty的UI对象,用于接收和响应点击事件。创建一个名为Panel的UI对象,用于触发点击事件。
步骤三:Panel对象添加EventTrigger组件,” Add New” -> 选择” PointerClick”。将Empty对象拖拽到触发者位置。然后点击”No Function”选择我们写在Test脚本中的OnTestClick事件。
这里写图片描述
这里写图片描述
方式三:程序动态设置实现
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.Events;
using UnityEngine.EventSystems;
public class ClickTest : MonoBehaviour {
// Use this for initialization
void Start ()
{
var trigger = transform.gameObject.GetComponent();
if (trigger == null)
trigger = transform.gameObject.AddComponent();
// 实例化delegates
trigger.triggers = new List

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值