###前提・実現したいこと
ButtonオブジェクトのEventTriggerに引数を持った関数をスクリプトから追加したいと思ってます。
以下のソースコードを参考にしていたのですが、追加するところでエラーが出ます。このコードでも引数は設定できないのでしょうか?
調べ方が悪いのかもしれませんが、検索してもInspector上での設定方法や引数を持たない方法ばかりだったので質問しました。
お願いします。
###発生している問題・エラーメッセージ
エディタ上に出てくるエラー
Delegate 'UnityAction<BaseEventData>' dose not 0 argument
###該当のソースコード
これを参考にしてます
C#
1 EventTrigger trigger = Button.GetComponent<EventTrigger>(); 2 EventTrigger.Entry entry = new EventTrigger.Entry(); 3 entry.eventID = EventTriggerType.PointerDown; 4 entry.callback.AddListener( (eventData) => { Foo(); } ); 5 trigger.delegates.Add(entry);
実際のコード
EventTrigger trigger = Button.GetComponent<EventTrigger>(); EventTrigger.Entry entry = new EventTrigger.Entry(); entry.eventID = EventTriggerType.PointerDown; entry.callback.AddListener( () => OnLong(p) ); //p int型 trigger.delegates.Add(entry); public void OnLong(int b){ Debug.Log(bint); }
###試したこと
((p) => OnLong());
((eventData) => {OnLong(p);});
###補足情報(言語/FW/ツール等のバージョンなど)
Unity 2017.2.0f3
参考元URL https://answers.unity.com/questions/854251/how-do-you-add-an-ui-eventtrigger-by-script.html
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2017/12/13 00:35