1. 程式人生 > >EventTrigger觸發3D物體事件和UGUI事件

EventTrigger觸發3D物體事件和UGUI事件

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觸發事件。