※ ChatGPTを利用し、要約された質問です(原文:Actionscript 同じような処理をまとめたい)
Actionscriptでコンパクトに同じ処理をまとめる方法
このQ&Aのポイント
FlashのTOPページに置くメニューを作成していますが、ボタンごとに関数を作るのが煩わしいです。Actionscriptでコンパクトに同じ処理をまとめる方法を教えてください。
自分で試したコードでは、ボタンを押す前に指定したアドレスに飛んでしまいます。この問題を解決するためにはどうすれば良いでしょうか?
ボタン1から5まで、それぞれ別のアドレスに飛ぶようにしたいです。具体的な実装方法を教えてください。
Actionscript 同じような処理をまとめたい
閲覧ありがとうございます。
プログラム初心者です。
FlashでサイトのTOPページに置くメニューを作成しています。
Flashのヘルプを見ながらできたのですが5つあるボタンにつきいちいち関数を作っていて、もう少しコンパクトに書きたいと思いました。
きれいに書くにはどうするのがベストでしょうか?
もしかしてActionscriptは一つのボタンにつき一つの関数を書かなければいけないのですか?
//自分なりに書いてみてうまくいかなかったソースです。
//実行するとボタンを押す前に一番上に書いたアドレス(http://address1.php)に飛んでしまいました。
var Add1:String = "http://address1.php";
var Add2:String = "http://address2.php";
var Add3:String = "http://address3.php";
var Add4:String = "http://address4.php";
var Add5:String = "http://address5.php";
function onClickButton(event:MouseEvent, address:String) :void {
var selectURL:URLRequest = new URLRequest(address);
navigateToURL(selectURL,"_self");
}
button1.addEventListener(MouseEvent.CLICK, onClickButton(Add1));
button2.addEventListener(MouseEvent.CLICK, onClickButton(Add2));
button3.addEventListener(MouseEvent.CLICK, onClickButton(Add3));
button4.addEventListener(MouseEvent.CLICK, onClickButton(Add4));
button5.addEventListener(MouseEvent.CLICK, onClickButton(Add5));
お礼
書いて頂いたとおりにやってみたところ、うまく行きました。 どうもありがとうございました。