Unity 實現給物體動態新增事件

2022-09-26 01:03:13 字數 1747 閱讀 8375

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 設定為最上層有時需要把物件放置在中間...