- ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:イベントに独自引数を渡したい。)
イベントに独自引数を渡す方法とは?
このQ&Aのポイント
- ACTIONSCRIPT3.0で外部ファイルを読み込む処理を行い、イベント発生時に独自引数を渡すことは不可能です。
- 配列のインデックスによって処理を分けたい場合、イベント発生時の関数であるmyfuncに独自の引数を渡すことはできません。
- 現在の解決策として、グローバルな配列を作成して処理を行っていますが、これにはメモリ常駐やオブジェクト指向の制約があります。よりスマートな方法はないか検討中です。
- みんなの回答 (1)
- 専門家の回答
質問者が選んだベストアンサー
Eventクラスを拡張すれば柔軟にできますが、簡単に渡したい場合は、 下記のようなクロージャを使用する方法があります。 ------------------------------------------- for (var i:int=0; i<j; i++) { myArray[i] = new Loader(); myArray[i].load(new URLRequest("")) myArray[i].contentLoaderInfo.addEventListener(Event.INIT,myfunc(i)); } function myfunc(num:int):Function { return function (event:Event):void { trace(num); } ------------------------------------------- 他の方法も参考までに。 ■AS3:イベントリスナーの引数2-追加パラメータを渡す http://blogs.yahoo.co.jp/k3_labs/4399737.html ■addEventListenerで一緒に引数を渡したい http://blog.img8.com/archives/2008/04/003758.html
お礼
ありがとうございます。 最初、「イベントリスナーになんで戻り値がいるのだ」と思ってしまいましたが、短い内容でくるくるまわって 大成功!! なるほど~~ 裏だ!なんと裏技っぽい裏ワザだ!と思いました。 コンパイルエラーが出ないことを確認してから書き込んでいるので遅れて申し訳ありませんが、リンクともにとても参考になりました。 ありがとうございます。