EventTrigger触发3D物体事件和UGUI事件
发表于2019-01-21
UGUI中普通的事件触发方法之前已经了,现在讲一下另一种触发事件的方法,这种方法不仅可以让2D的UGUI触发还可以让一个3D物体来触发某个方法。
首先写一个脚本用来写一个触发事件的log方法,如下:
using UnityEngine; using System.Collections; public class testtrigger : MonoBehaviour { // Use this for initialization void Start () { } // Update is called once per frame void Update () { } public void Clickthis() { Debug.Log("eventtrigger拉阿拉"); } }
接下来首先让一个UI图片来测试这种方法。步骤如下:
1)首先新建一个图片,然后把上面的脚本绑定上来,同时添加一个Event Trigger组件。如下:
2)点击Event Trigger组件上的Add New Event Type按钮,选择一个方法(此处选择了检测进入的方法PointerEnter)如下:
3)这步执行的操作和普通方法里绑定事件的方法一样即将图片拖到该组件里然后找到上面脚本里的那个Clickthis的方法就OK。如下:
最后测试一下:当鼠标进入在白色图的区域时会触发方法
下面开始进行场景里的3D物体使用该组件触发事件的方法操作讲解
1. 在场景里新建一个cube,给相机添加一个physics raycaster组件(该物体用来检测鼠标射线)。如下:
2. 为cube绑定上面的脚本,添加Event Trigger选择一个方法(此处选择click方法),步骤同上面图片方相同。然后点击场景中的cube,可以看到控制窗口会弹出log触发事件。