0

わかりました、私は Adob​​e Flash (air) でゲームを開発中です。これはモバイル ゲームになります。少し前にこの質問をしましたが、アニメーションが機能しないので戻ってきたことを知っています。とにかく、私が抱えていた問題は、ボタンを押したままにしても連続的な動きがないことでした。そのため、移動するにはボタンを押し続けなければなりませんでした.その人は私にティックを使うように言ったので、それは私が動きのエンジンを構築する方法でした. .アニメーションを追加しようとすると、一度だけ停止します (アニメーション) ここに私のコードがあります:

myButton.addEventListener(MouseEvent.MOUSE_DOWN,mouseDown);

function mouseDown(e:Event):void {
    stage.addEventListener(MouseEvent.MOUSE_UP,mouseUp); //listen for mouse up on the stage, in case the finger/mouse moved off of the button accidentally when they release.
    addEventListener(Event.ENTER_FRAME,tick); //while the mouse is down, run the tick function once every frame as per the project frame, this is where I add the players animation.
}

function mouseUp(e:Event):void {
    removeEventListener(Event.ENTER_FRAME,tick);  //stop running the tick function every frame now that the mouse is up
    stage.removeEventListener(MouseEvent.MOUSE_UP,mouseUp); //remove the listener for mouse up
}

function tick(e:Event):void {
    //do your movement
}

私が言いたいのは、とにかく問題を回避する方法はありますか? ダニでアニメーション化するにはどうすればよいですか。

4

1 に答える 1

0

他の人たちと同じように、私はコードが完全に問題ないと思います。コード全体とタイムラインにアクセスできないため、問題について次のように推測しています。

マウスダウンでのみアニメーションを開始したいので、アニメーションの最初のフレームに stop() アクションが必要です。(そうでない場合は修正してください)。アニメーションの最後のフレームには、ループのために gotoAndPlay(x) アクションが再度含まれている必要があります。

上記の仮定に基づいて、アニメーションがループすると、 stop() アクションが既に定義されているフレームに再び到達します。

于 2013-02-22T06:53:20.507 に答える