トップへ戻るニュースフォーラムFLASH-ML 過去ログBak@Flaダウンロードよくある質問と答
ログイン
ユーザ名:

パスワード:


パスワード紛失

新規登録
メインメニュー
メイン
   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さんは書きました:
----------同階層のFLAファイル(top_bottom.fla)---------------
レイヤー名|第一フレーム|
スクリプト|a     |
MC    |     |
//フレームアクション
/*
var i:int = 1;
var w:int = 50;
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

引数を指定しているつもりなのですが、
エラーの原因がよくわかりません。


----------------
 

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さんは書きました:
すると、レイヤー:MCに、MovieClipシンボルが入っているのが判明。(←これが原因)
レイヤー:MCに入っているMovieClipシンボルを削除。
エラーが出なくなりました。


----------------
 

スレッド表示 | 新しいものから 前のトピック | 次のトピック | トップ

投稿するにはまず登録を
 
Copyright (C) 2003 FLASH-japan. All rights reserved.
Powered by Xoops