0

ボールがムービー クリップ オブジェクトに当たり、ユーザーが新しいシーンに移動するフラッシュ ゲームをコーディングしています。

これは正常に動作しますが、ゲーム シーンに戻ると、ボールが 2 倍の速さで移動します。

ゲームに戻るときに変数をリセットする方法/場所を教えてください。現時点で変数を設定する方法については、以下を参照してください

var XSpeed:Number = 9;
var YSpeed:Number = 9;

どんな助けでも大歓迎です。ありがとう。

編集* * ** * ** * ** * ** * ** * ** * ** * ** * ** * ** * ** * ** * **

わかりましたので、私はこの質問をかなりひどく表現したと思います。ここに私の関連コードがあります:

var XSpeed:Number = 9; //X Speed of the Ball
var YSpeed:Number = 9; //Y Speed of the Ball


function beginCode():void{

mcPaddle.addEventListener(Event.ENTER_FRAME, movePaddle);

mcBall.addEventListener(Event.ENTER_FRAME, moveBall);

mcBall.addEventListener(Event.ENTER_FRAME, changeFrame);
}

そして最後に beginCode() が呼び出されます。前述のように、問題はイベント リスナーが既に存在し、ユーザーがページに戻るたびに再度呼び出されていることだと思います。チェックする if ステートメントを追加しようとしましたが (以下のコメントを参照)、うまくいきませんでした...

どんな助けでも大歓迎です。ありがとう。

4

2 に答える 2

0

まあ、それはあなたのゲームがどのように書かれているか、そしてあなたがそれがどのように動作することを期待しているかに完全に依存します.

特定の問題については、これを行うのと同じくらい簡単when the ball hits a movie clipです:

XSpeed = 9;
YSpeed = 9;
于 2013-01-18T01:31:01.053 に答える
0

それはこの質問のように聞こえます。そこにあった問題は、ゲームの再起動時にイベント リスナーが再度追加され、ゲーム ループが 2 倍の頻度で発生する (そしてすべてが 2 倍の速さで発生する) ことでした。

ゲームが終了したらリスナーを削除するか、一度だけ追加されるようにチェックを追加する必要があります。

于 2013-01-18T01:32:52.270 に答える