using system.events;
using system.eventsystems;
//_go is the gameobject which need add event
//_go 是物體,因為eventtrigger是unity中的乙個元件,我們要用新增元件的方式來給物體新增事件觸發元件
//_type is the eventtriggertype(point , drag , clickdown......
//_type 是要新增的事件觸發型別,這是乙個內建列舉
//_action is the funtion
//_action 這裡之前寫的時候可能是沒有注意就寫上了funtion了,其實這應該是乙個委託乙個unityaction型別的委託
void addtriggerevent (gameobject _go , eventtriggrttype _type , unityaction _action)
//2023年2月20日更新
//沒有必要加這句話,因為你使用的只是乙個引用,並不是屬性
//if (trigger.triggers.co程式設計客棧unt==0)
////新建觸發例項
eventtrigger.entry entry = new eventtrigger.entry();
// 之前我在專案裡寫的時候是直接新增的方法,沒有用傳值的方式,所以這裡寫的有些累贅
//unityaction callbeogrhack = new unityaction(_action);
// 修改之前累贅寫法
entry.callback.addlistener(_action);
//設定例項型別
entry.eventid = _type;
// 將例項新增到觸發列表中
trigger.triggers.add(entry);
}2023年2月20日更新
看到自己之前寫的部落格太過簡略,也沒有注意事項,重新編輯一下,我現在重新加上了注釋,對指令碼進行了部分修改,然後下面講一下注意事項
1.這個事件觸發是使用的unity內建的事件觸發系統,所以在使用的時候一定要有
這兩個元件,就是你在場景裡新建ui元件的時候自己新建的那個東西
2.如果是ui的話,可以直接新增,但如果不是ui的話,確保兩件事
1) 確保相機上有射線元件
這兩個元件分別對應3d物體和2d物體
2)要被檢測的元件一定要有collder元件
只有這樣才能保證eventtrigger的正確實現
補充:unity 動態給物體新增eventtrigger事件
[requirecomponent(typeof(eventtrigger))]
public class modelcomponent : monobeh**iour
private void addeventtriggerfun(eventtriggertype eventtriggertype, unityengine.events.unityaction unityaction)
private eventtreogrhigger eventtrigger;
private void start()
private void eventtest());}
private void clickevent()
本文標題: unity 實現給物體動態新增事件
本文位址: /ruanjian/csharp/383781.html
Unity給物體新增多個Tag的實現
在unity中,我們經常通過給物體新增標籤來判斷這個物體是不是我們想要的 但是unity預設只能新增乙個標籤,那如果我們要給乙個物體新增多個標籤應該怎麼辦 首先,我們定義乙個tag.cs類,這個類用來儲存物體的tag資訊 public class tags monobeh iour 然後建立乙個單例...
如何給物體新增陰影效果
陰影在3d遊戲中是非常重要的乙個細節,所以這一章我們專門介紹如何給物體新增陰影效果。我們在執行前面的demo的時候會有一種感覺,就是經過大樹的時候會有陰影投射到方塊上。那麼下面就來介紹一下如何給方塊新增陰影。燈光是陰影產生的乙個非常重要的要素,預設的燈光的shadowtype是noshadows 將...
Unity動態改變物體遮擋關係
在動態建立物體時,通常同父級下先建立的子物體會被後建立的遮擋,此時就需要我們用 改變物件的層級。gameobject go go.transform.setaslastsibling 設定物件為最下層 go.transform.setasfirstsibling 設定為最上層有時需要把物件放置在中間...