したがって、次のコードを含むこの Player.as クラス ファイルがあります。
private function PressAKey(event:KeyboardEvent):void
{
getDistance();
if(event.keyCode == 32 && placedBomb == false && bombNumber == 0)//space
{
xKey = true;
placeBomb();
placedBomb = true;
}
}
これを次の placeBomb() 関数と組み合わせて使用します。
private function placeBomb():void{
MainClass.container.addChildAt(bomb,0);
bomb.x = this.x;
bomb.y = this.y+20;
bombNumber ++;
}
問題は、インタラクションの構築を開始できるように、プレイヤーと爆弾の間の距離を計算しようとする次の関数から発生します。
private function getDistance():void{
distance = Math.sqrt( ( this.x - MainClass.container.bomb.x ) * ( this.x - MainClass.container.bomb.x ) + ( this.y - MainClass.container.bomb.y ) * ( this.y - MainClass.container.bomb.y ) );
trace(distance);
}
これを試すと、次のエラーが表示されます。
TypeError: Error #1010: A term is undefined and has no properties.
at Player/getDistance()
at Player/PressAKey()
私が何を見逃しているか分かりますか?これは間違いなくスコーピングの問題ですが、クラス全体が爆弾を認識できるようにするには、何を含める必要がありますか?