メイン ActionScript 3.0 特設会議室 引数の数が一致しない。 | 投稿するにはまず登録を |
スレッド表示 | 新しいものから | 前のトピック | 次のトピック | 下へ |
投稿者 | スレッド |
---|---|
primeiro77 | Åê¹ÆNo.41587 投稿日時: 2009-2-27 19:38 |
新米 居住地: 大阪 投稿: 4
使用環境:
CS3,CS4 Mac OS X 10.5.8 Vista Home Basic |
引数の数が一致しない。 カスタムクラス(SlidePic.as)を設定したMovieClipシンボルを
動的に作成し、配置しようとしているのですが、、 --------SlidePic.as----------- package { import flash.events.Event; import flash.display.MovieClip; public class SlidePic extends MovieClip{ private var my_mcW:int ; public function SlidePic(mcW:int) { my_mcW = mcW; trace("**my_mcW**" + my_mcW); } } } ----------同階層のFLAファイル(top_bottom.fla)--------------- レイヤー名|第一フレーム| スクリプト|a | MC |○ | //フレームアクション var i:int = 1; var w:int = 600; var cnt = 5; var my_mc:SlidePic; for (i; i<=cnt; i++) { my_mc = new SlidePic(w); my_mc.x = w * (i-2); my_mc.y = 0; addChild(my_mc); } これをプレビューすると、、 ArgumentError: Error #1063: SlidePic() の引数の数が一致していません。1 が必要ですが、0 が指定されました。 at flash.display::Sprite/constructChildren() at flash.display::Sprite() at flash.display::MovieClip() at top_bottom_fla::MainTimeline() **my_mcW**600 **my_mcW**600 **my_mcW**600 **my_mcW**600 **my_mcW**600 引数を指定しているつもりなのですが、 エラーの原因がよくわかりません。 コンストラクタの引数にデフォルト値を指定すれば エラーはなくなることは分かっているのですが、 上記の場合、デフォルト値を必ず指定しないと いけませんでしょうか? ご教授頂ければと思い、投稿させて頂きました。 すみませんが宜しくお願い申し上げます。 |
野中文雄 | Åê¹ÆNo.41589 投稿日時: 2009-2-27 22:26 |
ちょんまげら 居住地: 東京 投稿: 4531
使用環境:
CS5.5 .6.8 Vista Home Premium (SP1) |
Re: 引数の数が一致しない。 「エラーの原因がよくわか」らないのは、「問題を単純化(シンプルに)しない」からでしょう。フレームアクションをすべて削除しても、エラーは発生するのではありませんか?
引用: primeiro77さんは書きました: |
primeiro77 | Åê¹ÆNo.41595 投稿日時: 2009-2-28 10:24 |
新米 居住地: 大阪 投稿: 4
使用環境:
CS3,CS4 Mac OS X 10.5.8 Vista Home Basic |
Re: 引数の数が一致しない。 Fumioさん、お返事有難うございます。
ご指摘の通り、「問題を単純化(シンプルに)しない」からでした。 問題を単純化(シンプルに)するため、レイヤーを削除していきました。 すると、レイヤー:MCに、MovieClipシンボルが入っているのが判明。(←これが原因) レイヤー:MCに入っているMovieClipシンボルを削除。 エラーが出なくなりました。 なんとも初歩的で、お恥ずかしい限りです。 ご指摘有難うございました。 |
野中文雄 | Åê¹ÆNo.41597 投稿日時: 2009-2-28 21:39 |
ちょんまげら 居住地: 東京 投稿: 4531
使用環境:
CS5.5 .6.8 Vista Home Premium (SP1) |
Re: 引数の数が一致しない。 他のメンバーや後から検索する便を考えて、簡単にまとめます。
カスタムクラスの設定されたMovieClipシンボルのインスタンスを予めタイムラインに配置すると、Flash Playerがそのインスタンスを表示するときカスタムクラスのコンストラクタが引数なしに呼出されます。 したがって、コンストラクタメソッドに引数を定義した場合、(1)引数にデフォルト値を設定するか、(2)インスタンスを予めタイムラインには配置しないことが必要です。primeiro77さんは、(2)を採られたということですね。 引用: primeiro77さんは書きました: |
スレッド表示 | 新しいものから | 前のトピック | 次のトピック | トップ |
投稿するにはまず登録を | |