私の問題は次のような質問です: ArgumentError: Error #1063
違いは、ドキュメント クラスが読み込まれた後にこのエラーが発生し、ボタンをクリックして Game() クラスを開始することです。PowerUp() クラスは、プログラムによって呼び出されることなく、自動的にエラーを生成します。PowerUp() クラス コンストラクターの最初のパラメーターが値を受け取っていないことがわかりました。
public function PowerUp(tar:Object,s:Number=1, a:String="bonusShots",t:String="Multi Shot", l:int=100):void {/// その他のコード
ムービークリップ「thePlayer」をステージから PowerUp() クラス コンストラクターの最初のパラメーターに配置する必要があります。
「thePlayer」をコンストラクターに追加すると、「オブジェクトはコンパイル時定数ではありません」という別のエラーが発生します。
var thePlayer: MovieClip=thePlayer;
public function PowerUp(tar:Object=thePlayer,s:Number=1, a:String="bonusShots",t:String="Multi Shot", l:int=100):void {/// その他のコード
質問: 「thePlayer」ムービークリップを PowerUp クラスのコンストラクターに組み込むにはどうすればよいですか?
PowerUp クラスのコードは次のとおりです。
public class PowerUp extends Sprite{
protected var type:String;// type of power up
protected var strength:Number;// power of power up
protected var attribute:String;// attribute effected by power up
protected var target:Object;// target to buff/boost/perk up/ empower/improve/enhance
protected var lifespan:int;// the life span of a perk
protected var maxLifeSpan:int; // max time to live grahic
const BAR_WIDTH=100;// width of rect
const BAR_HEIGHT=15;// height of rect
public function PowerUp(tar:Object,s:Number=1, a:String="bonusShots",t:String="Multi Shot", l:int=100):void {
type=t;
strength=s;
attribute=a;
target=tar;
lifespan=l;
maxLifeSpan=l;
perkName.text=t;
perkName.blendMode="invert";
// apply perk to target
target[attribute]+=strength;
}// end constructor