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

UGUI中普通的事件觸發方法以前已經了,如今講一下另外一種觸發事件的方法,這種方法不只能夠讓2D的UGUI觸發還能夠讓一個3D物體來觸發某個方法。測試


首先寫一個腳本用來寫一個觸發事件的log方法,以下:this

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組件。以下:spa



2)點擊Event Trigger組件上的Add New Event Type按鈕,選擇一個方法(此處選擇了檢測進入的方法PointerEnter)以下:code




3)這步執行的操做和普通方法裏綁定事件的方法同樣即將圖片拖到該組件裏而後找到上面腳本里的那個Clickthis的方法就OK。以下:blog




最後測試一下:當鼠標進入在白色圖的區域時會觸發方法事件



------------------------------------------------------------------------------圖片


下面開始進行場景裏的3D物體使用該組件觸發事件的方法操做講解it


1)在場景裏新建一個cube,給相機添加一個physics raycaster組件(該物體用來檢測鼠標射線)。以下:io


2)爲cube綁定上面的腳本,添加Event Trigger選擇一個方法(此處選擇click方法),步驟同上面圖片方相同。而後點擊場景中的cube,能夠看到控制窗口會彈出log觸發事件。event