0
こんにちは私は、getTimer()関数を使っていくつかのターゲットを移動するので、私はゲームを一時停止するためにこれを必要とするフラッシュゲームでタイマーを停止する必要があります、ゲームが一時停止されているにもかかわらず、ゲームのポーズ解除時にgetTimer()が実行され続けるため、ターゲットが画面から消える(位置が速すぎる)。 getTimerのように、タイマーを停止する方法や、ターゲットをスムーズに動かす方法がありますか? her5eが私のコードです:ここではAS 3.0停止タイマー
//animates targets
private function MoveTarget(e:Event) {
if (!MovieClip(parent).pauseGame) {
//get time passed
timePassed = getTimer() - lastTime;
lastTime += timePassed;
}
//move the target
this.x += dx * timePassed/1000;
//check to see if the target is offscreen
switch (targetType) {
case "small":
if (dx > 0 && this.x > 771) { //left->right target
deleteTarget(false);
} else if (dx < 0 && this.x < -26) { //left<-right target
deleteTarget(false);
}
break;
case "medium":
if (dx > 0 && this.x > 790) { //left->right target
deleteTarget(false);
} else if (dx < 0 && this.x < -40) { //left<-right target
deleteTarget(false);
}
break;
case "big":
if (dx > 0 && this.x > 800) { //left->right target
deleteTarget(false);
} else if (dx < 0 && this.x < -50) { //left<-right target
deleteTarget(false);
}
break;
}
}
素晴らしい参照してください!ありがとう、なぜ私はそれについて考えなかったのか分からず、新しい目標をインスタンス化した別の問題を修正しました。なぜ、それを確認する必要がありますか? – ershin69