Unity中UI的一些经常用的事件EventTrigger

上一章说了一些Unity不规则图片点击。这一次就说一说常用的UI事件。

EventTrigger是一个可以实现很多功能的东东。

添加方法有两种,第一就是在Inspector中添加EventTrigger

第二种就是写代码了。身为一个独游开发者写代码才是我的特长。好吧!我不喜欢废话,下面是干货。

using System.Collections;

using System.Collections.Generic;

using UnityEngine;

using UnityEngine.EventSystems;

using UnityEngine.UI;

public class Test: EventTrigger

{

    public override void OnBeginDrag(PointerEventData data)

    {

        Debug.Log("处理开始拖动时要做什么事.");

    }

    public override void OnCancel(BaseEventData data)

    {

        Debug.Log("OnCancel called.");

    }

    public override void OnDeselect(BaseEventData data)

    {

        Debug.Log("OnDeselect called.");

    }

    public override void OnDrag(PointerEventData data)

    {

        Debug.Log("理拖动过程中要做什么事.");

    }

    public override void OnDrop(PointerEventData data)

    {

        Debug.Log("OnDrop called.");

    }

    public override void OnEndDrag(PointerEventData data)

    {

        Debug.Log("理拖动结束要做什么事.");

    }

    public override void OnInitializePotentialDrag(PointerEventData data)

    {

        Debug.Log("OnInitializePotentialDrag called.");

    }

    public override void OnMove(AxisEventData data)

    {

        Debug.Log("OnMove called.");

    }

    public override void OnPointerClick(PointerEventData data)

    {

        Debug.Log("OnPointerClick called.");

        Debug.Log("在图片内取消滑鼠点击");

    }

    public override void OnPointerDown(PointerEventData data)

    {

        Debug.Log("OnPointerDown called.");

        Debug.Log("滑鼠点击");

    }

    public override void OnPointerEnter(PointerEventData data)

    {

        Debug.Log("OnPointerEnter called.");

        Debug.Log("滑鼠移入");

    }

    public override void OnPointerExit(PointerEventData data)

    {

        Debug.Log("OnPointerExit called.");

        Debug.Log("滑鼠移出");

    }

    public override void OnPointerUp(PointerEventData data)

    {

        Debug.Log("OnPointerUp called.");

        Debug.Log("取消滑鼠点击");

    }

    public override void OnScroll(PointerEventData data)

    {

        Debug.Log("OnScroll called.");

    }

    public override void OnSelect(BaseEventData data)

    {

        Debug.Log("OnSelect called.");

    }

    public override void OnSubmit(BaseEventData data)

    {

        Debug.Log("OnSubmit called.");

    }

    public override void OnUpdateSelected(BaseEventData data)

    {

        Debug.Log("OnUpdateSelected called.");

    }

}

代码不是只有这一种写发,另一种就是这个

using UnityEngine;

using UnityEngine.EventSystems;

public class ChoiceCart : MonoBehaviour,IPointerEnterHandler,IPointerClickHandler {

    // Use this for initialization

    void Start () {

}

// Update is called once per frame

void Update () {

}

    public void OnPointerEnter(PointerEventData eventData)

    {

        //滑鼠进入

    }

    public void OnPointerClick(PointerEventData eventData)

    {

        Debug.Log("在图片内取消滑鼠点击");

    }

}

在这里的IPointerEnterHandler和IPointerClickHandler就是和上面的不同,要用哪个就要继承哪个。另外说一句不要忘了添加using UnityEngine.EventSystems;

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • mean to add the formatted="false" attribute?.[ 46% 47325/...
    ProZoom阅读 2,724评论 0 3
  • 英文文档,一开始我也是抗拒的,边翻译边看,也就花费了1个小时基本就阅读过了,我的英文基础其实很差。附上链接:链接:...
    lonecolonel阅读 10,014评论 3 1
  • // Copyright © 2018, Meta Company. All rights reserved. ...
    LunarShade阅读 224评论 0 0
  • 今天是正月初七,要开始一年的工作和学习了。对于新的一年,大家都有怎样的目标和期待呢?无论许下什么样的的目标,要想实...
    若曦城阅读 306评论 0 0
  • 重新定义“速成”,快速入门,迅速行动,高度专注和掌握践行中需要补充学习的内容,快速度过“精进”过程。 快速入门,不...
    随意咖啡阅读 160评论 0 0