因此,自4.6版統一使用新的UI系統以來,我從未使用過。到現在。onClick按鈕上的onClick監聽器代理
我想要做的是以動態方式生成按鈕,因此我還必須以動態方式(或至少通過腳本)添加onClick事件。
我tryed延長的onClick監聽器,但它不想工作:
btn.GetComponent<Button>().onClick.AddListener(() => { placeBuilding(obj.name); });
它將給這個錯誤,確實聽起來在什麼是錯的很清楚:
Assets/Scripts/Menu/btnBouwen.cs(72,45): error CS0119: Expression denotes a 'method group', where a 'variable', 'value' or 'type' was expected
但是,我不知道如何使用UnityAction
,因爲它似乎是呼叫所需的類型。
感覺就像我錯過了一件非常簡單的事情。希望有人能幫助我。
親切的問候, Nkmol
嗯,你爲什麼要添加Click Listener到新的UI?我只是好奇,因爲它已經有一個onClick監聽器,這完全響應鼠標點擊和觸摸,多觸摸也。與OnGui不同,您不必在開始時添加Listner或IF條件。 你甚至可以對任何腳本製作一個公共方法並打開ButtonObject的OnClick組件,並使用其上的公共方法拖動該遊戲對象,然後在下拉列表中選擇該方法,以便將其引發。 – Aizen 2015-04-02 21:49:42
你的意思是在某些時候,你想要將一個GameObject拖到新UI的onClick上,並嘗試從那裏訪問腳本?我明白你想動態地做到這一點,我很好奇,因爲我從來沒有這樣做過。 – Aizen 2015-04-02 21:52:47
@Aizen想象一下你有一個'List <>',其中某些值在應用程序運行後可以有更多的值。通過這個循環遍歷這個列表,併爲每個值生成一個'Button'。這全部由代碼生成,因此我不能使用統一的GUI並將GameObject拖到onClick事件中。 – nkmol 2015-04-03 12:57:36