- ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:FlashでXMLを読み込んだ際の関数について)
FlashでXMLを読み込む際の関数 - 正しい書き方を教えてください
このQ&Aのポイント
- FlashでXMLを読み込む際に関数を作成する方法について説明します。正しい書き方を教えてください。
- ボタンを制御するための関数を作成する場合、以下のような書き方が一般的です。btn.onRelease = function() {_root.sound_mc.songStarter(songfile[], songname[]);};
- しかし、ループ内でボタンのインスタンス名を動的に変化させる場合、正しい書き方は以下のようになります。for(var i=0; i<=2; i++) {var btn = this["btn" + i ];btn.onRelease = function() {_root.sound_mc.songStarter(songfile[i], songname[i]);};}
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
anzunyaさん、 for(var i=0; i<=2; i++) { var btn = this["btn" + i ]; btn.onRelease = function() { _root.sound_mc.songStarter(songfile[i], songname[i]); }; } → 検証してないですが、for文を使う時に、良く、間違い易いところですね。 //ここから for(var i=0; i<=2; i++) { var btn = this["btn" + i ]; btn.id=i;//これを追加してみて下さい。 btn.onRelease = function() { _root.sound_mc.songStarter(songfile[this.id], songname[this.id]);//iではなく、this.idとなります。 }; } //ここまで 補足:btnに、id(予約語以外なら、nでも、numでもなんでもいいのですが)というPropertyを追加し、それに、iを保管しないと、iの最後、この場合は、i=1となり、btn1しか効かないのではと思います。
その他の回答 (1)
- joy_28
- ベストアンサー率84% (45/53)
回答No.2
失礼。 btn2しか、効果がないのではと思います。
質問者
お礼
アドバイスありがとうございます。
お礼
ご回答ありがとうございます。 上記の記述でうまくいきました!!(^^) 助かりました!ありがとうございます。