パドルの位置を更新する単純なアルカノイドゲームに問題があります。次のリスナーを使用して反応します。
paddle.addEventListener(Event.ENTER_FRAME, movePaddle)
movePaddle()
関数が定義されている場合、Main
すべてが正常に機能していますが、コードをリファクタリングmovePaddle()
して関数をPaddle
クラスに入れ、リスナーを次のように変更した場合:
paddle.addEventListener(Event.ENTER_FRAME, paddle.movePaddle)
その結果、パドルはフレームごとに目的の値と他の値の間で位置を変更します
以下のmovePaddle()
機能:
public function movePaddle(event:Event):void
{
// DEBUG
trace(this.x);
trace(this.y);
this.x = mouseX - this.width / 2;
if(mouseX < this.width / 2)
{
this.x = 0;
}
// To much to right
if(this.x >= stage.stageWidth - this.width)
{
// To much to left
this.x = stage.stageWidth - this.width;
}
}
2番目の質問:ENTER_FRAME
ゲームの最適化の観点から、イベントの使用は適切ですか?