【Unity】AddListenerで引数を渡す


プレハブからボタンを配置するときには OnClick イベントを設定する必要がある。

引数を渡すとき処理を書くときに一工夫必要だったので覚書き。

 

まず AddListener はアクションを渡す必要があるので、そのまま Func(1) みたいには渡せない。

そこでラムダ式で簡単な無名関数を作って渡すようにする。

このときループのインデックスなんかを渡すと、変数そのものが渡されるので全部ループ終了後のインデックス値が設定されたりする。

計算結果を渡せば良いかとも思ったがそれもダメだった。

 

最終的にループ内で一時変数を作って渡すことで正しく動作するようになった。

 

 


コメントを残す

メールアドレスが公開されることはありません。