メイン コーダーズルーム【スクリプト系】 可変数のボタンに対するonReleaseの効率化 | 投稿するにはまず登録を |
スレッド表示 | 新しいものから | 前のトピック | 次のトピック | 下へ |
投稿者 | スレッド |
---|---|
nacbox | Åê¹ÆNo.45931 投稿日時: 2010-9-24 18:54 |
新米 居住地: 東京 投稿: 25
使用環境:
Win7 / Flash CS4 PRO |
可変数のボタンに対するonReleaseの効率化 AS2でコーディングしています。よろしくお願いします。
外部png画像をxml管理しており、それを読み込んで、attachMovieで画面内に配置します。それらの画像をクリックして、任意のURLへ飛ばそうとしています。 ・画像の枚数は何枚になるか分かりません。 ・URLは、それぞれ読み込んだ画像に対して、一対一です(xmlに記述されています)。 attachMovieしたMCのインスタンス名を aMC0?aMCx のように、[ "aMC" + 0から始まる連番 ] としています。 また、URLは、 mcArray[0].url?mcArray[x].url のように配列で管理しています。 画像の枚数は [ mcNum ] という変数に代入しました。 さて、これらのMCをクリックした際にジャンプするように、以下のようなコードを組みました。
画像の枚数分だけ、for文でonReleaseを回すイメージです。 しかし、上記の書き方だと問題が発生します。 onRelease文自体はfor文とともに走るので、それぞれの画像MCが正常にマウスに反応するようになります。 しかし、onRelease文の中のgetURL文は、for文の処理時ではなく、クリック時に初めて走ることになります。 MCをクリックした際には、もうfor文は一周したあとなので、 i は mcNumと同じ数字になっています。 そのため、実際には、aMC0をクリックしようが、aMC100をクリックしようが、getURLは一番最後の画像のURLに飛んでしまいます。 画像の枚数が固定であれば、for文で回さずに、画像の枚数分だけonRelease文を書いてしまえばとりあえず問題は回避できるのですが、画像枚数が可変のため、平文で書くわけにはいきません。 できればfor文などで効率化したいと考えています。 しかし、上記の問題をクリアする方法が思いつきません。 私の知らないコマンドがある、とかいうよりも、おそらく考え方の問題だと思うのですが。 アドバイスをいただければ嬉しいです。 よろしくお願いします。 |
ひろゆき | Åê¹ÆNo.45932 投稿日時: 2010-9-24 19:07 |
ちょんまげら 居住地: 東京砂漠 投稿: 4403
使用環境:
10.8.5 Flash Professional CS4/CS6/CC Safari 6.1 |
Re: 可変数のボタンに対するonReleaseの効率化
「for文とボタンアクション」 「Buttonのthis」 「forループでMovieClipに設定したイベントハンドラメソッドから変数を参照する」
|
nacbox | Åê¹ÆNo.45933 投稿日時: 2010-9-24 20:22 |
新米 居住地: 東京 投稿: 25
使用環境:
Win7 / Flash CS4 PRO |
Re: 可変数のボタンに対するonReleaseの効率化 ありがとうございました!
そうか、MCと値をひもづけてやって、thisから引っ張り出せばよかったんですね。 思いつきませんでした……。 無事、問題を回避することが出来ました。 助かりましたm(_ _)m 過去ログで同じ話題がいくつもあったんですね。 失礼しました(汗) 探し方がへたくそでした。 今後ともよろしくお願いします。 |
スレッド表示 | 新しいものから | 前のトピック | 次のトピック | トップ |
投稿するにはまず登録を | |