メイン 迷える子羊の部屋【初心者専用】 10このボタンにfor文を使ってマウスリスナーを関連付ける | 投稿するにはまず登録を |
スレッド表示 | 新しいものから | 前のトピック | 次のトピック | 下へ |
投稿者 | スレッド |
---|---|
yukidaruma | Åê¹ÆNo.48026 投稿日時: 2011-9-22 7:01 |
新米 居住地: 投稿: 14
使用環境:
WinVista,Flash cs3 |
10このボタンにfor文を使ってマウスリスナーを関連付ける 題名を変えてもう一度投稿します。お願いします。
10このボタン(btn0?btn9)にfor文を使ってマウスリスナーを関連付けることを行いたいです。 for (var i:int=0; i<10; i++) { var botn:MovieClip=this["btn"+i]); btn5.addEventListener(MouseEvent.CLICK , set_swf); } のように書きましたが、 「TypeError: Error #1034: 強制型変換に失敗しました。btn@5815701 を flash.display.MovieClip に変換できません。 at _fla::MainTimeline/frame1()」 と出力エラーが出ます。 どこを直すと正しくできるのでしょうか。 10このボタンは、btnというインスタンスです。1つのレイヤーに配置してあります。 |
森 巧尚 | Åê¹ÆNo.48027 投稿日時: 2011-9-22 15:29 |
モデレータ 居住地: 宝塚 投稿: 650
使用環境:
.5/CS4/Safari3 XP+2000//IE6 |
Re: 10このボタンにfor文を使ってマウスリスナーを関連付ける いろいろ間違いがあるようですが、まずはエラーをよく読んでみてください。
「強制型変換に失敗しました。btn@5815701 を flash.display.MovieClip に変換できません。」と、「btnをMovieClipに変換できない」と言われています。 yukidarumaさんは、10個のボタンを置いてそれを変数に入れて扱おうとしているのに 「var botn:MovieClip=this["btn"+i]);」 と、ボタンを無理矢理MovieClipに変換しようとしています。 ボタンを変数に入れようとしているのだから、 「var botn:SimpleButton = this["btn" + i];」 とする必要があります。 ※ちなみにこの行の最後に余分な「) 」があります。 別のエラーがでていませんか?「)」は削除します。 さらに次の行で 「btn5.addEventListener(MouseEvent.CLICK , set_swf);」 と「btn5」だけにaddEventListenerしていますが、 これは全部のボタンにしたいのではないですか? そのために、変数botnに入れたのではないですか? 「botn.addEventListener(MouseEvent.CLICK , set_swf);」 とするべきです。
|
yukidaruma | Åê¹ÆNo.48028 投稿日時: 2011-9-22 22:23 |
新米 居住地: 投稿: 14
使用環境:
WinVista,Flash cs3 |
Re: 10このボタンにfor文を使ってマウスリスナーを関連付ける 森さん返答ありがとうございます。
ミスだらけの内容ですみませんでした。 プレビューをしっかり見ないで投稿してしまいました。 正しくは↓でした。 for (var i:int=0; i<10; i++) { var botn:MovieClip=this["btn"+i]; botn.addEventListener(MouseEvent.CLICK , set_swf); } ご指摘通り、ムービークリップをシンプルボタンに変えたら、即できました。実際はボタンを70個ほど作ります。 作りたい内容のフラッシュに少し近づきました。 ありがとうございました。 |
スレッド表示 | 新しいものから | 前のトピック | 次のトピック | トップ |
投稿するにはまず登録を | |