ログインしてさらにmixiを楽しもう

コメントを投稿して情報交換!
更新通知を受け取って、最新情報をゲット!

Flash Action Scriptコミュの【AS2.0】複数のボタンを処理する記述を簡略化したい

  • mixiチェック
  • このエントリーをはてなブックマークに追加
内容:
【Actionscript2.0】

shopID1="white";
shopID2="black";
shopID3="red";

_root.btn1.onRelease = function() {
_root.mc_loadmap.loadMovie("shopmap/"+shopID1+".swf");
}
_root.btn2.onRelease = function() {
_root.mc_loadmap.loadMovie("shopmap/"+shopID2+".swf");
}
_root.btn3.onRelease = function() {
_root.mc_loadmap.loadMovie("shopmap/"+shopID3+".swf");
}
現在、このように外部swfを読み込むActionscriptがあります。

上記の文章を簡略化する方法はありますでしょうか?

コメント(5)

以下のFLASH-japanのトピックが参考になりそうに思います。

「タイムラインにフラグを立てる」
http://www.flash-jp.com/modules/newbb/viewtopic.php?viewmode=flat&topic_id=9240&forum=8
>Fumio様
アドバイスありがとうございます。フォーラムを参照してみましたが、
フォーラムの質問に出ていた質問の趣旨自体が理解出来ませんでした。

タイムラインにフラグ(タイムラインのフラグとはフレームラベルの事?)
を立てて、今表示されているコンテンツをキー(コンテンツをkeyにする?)
にしてナビゲーションの動きをスムーズに(ナビゲーションの動きとはアニメの事?)
…という具合で、文章自体がすでに理解出来ないという状態です。

回答に出ていた文章も見た事の無い文法が多く、
どのように取り入れればいいのかわからない、という状態です。

折角アドバイスいただいたのに、力不足で活用出来ず申し訳ありません。

****
フォーラムで記載されていた、問題をできるだけ単純化して考える、
という考え方はとても参考になりました。

shopID1="white";
shopID2="black";

_root.btn1.onRelease = function() {
trace(shopID1);
}
_root.btn2.onRelease = function() {
trace(shopID2);
}

上記のように、問題点を単純化した上で、
「どうすれば、この記述を短い文法でまとめられるか」模索していきたいと思います。
>Fumio様
トピックのタイトルとは全く関係ありませんが、Fumio様 の執筆している
『アッと驚く達人の技 FlashMX ActionScript 実践技&ウラ技大全』
という書籍、長年愛用しています。
今現在、この本を片手に制作を進めております。

重ねてお礼申し上げます。
>> 2: ごきぶりの出汁さん
> フォーラムで記載されていた、問題をできるだけ単純化して考える、
> という考え方はとても参考になりました。

> 上記のように、問題点を単純化した上で、
>「どうすれば、この記述を短い文法でまとめられるか」模索していきたいと思います。
_____
それはとても大切な考え方だと思います。以下をお試しください。

// フレームアクション
// インスタンスbtn1とbtn2を配置
// *全角スペースのインデントに注意
_root.btn1.shopID = "white";
_root.btn2.shopID = "black";
_root.btn1.onRelease =
_root.btn2.onRelease =
function () {
 trace(this.shopID);
};

参考:「Buttonのthis」
http://fumiononaka.com/TechNotes/Flash/FN0303004.html

>> 3:
> 『アッと驚く達人の技 FlashMX ActionScript 実践技&ウラ技大全』
> という書籍、長年愛用しています。
_____
まいどありがとうございます。わーい(嬉しい顔)
>Fumio 様

この要領を応用して、>>0と同じように
・ボタンを増やす
・trace() の部分を外部swfを読み込む記述に変更する
改変を加えたところ、無事、期待通りの動作が行われました。
ご教授ありがとうございました。

****
【>>0に>>4の方法を応用したActionScript(2.0)】

_root.btn1.shopID = "white";
_root.btn2.shopID = "black";
_root.btn3.shopID = "red";
_root.btn1.onRelease = _root.btn2.onRelease=_root.btn3.onRelease=function () {
_root.mc_loadmap.loadMovie("shopmap/"+this.shopID+".swf");
};

ログインすると、みんなのコメントがもっと見れるよ

mixiユーザー
ログインしてコメントしよう!

Flash Action Script 更新情報

Flash Action Scriptのメンバーはこんなコミュニティにも参加しています

星印の数は、共通して参加しているメンバーが多いほど増えます。

人気コミュニティランキング