Привет, ребята, у меня есть рабочий таймер, который останавливается (), когда я вызываю его и запускаю, но я не могу его сбросить (). Он начинается только с того места, где он остановился.
код для таймера
package
{
import flash.display.MovieClip;
import flash.display.Stage;
import flash.text.TextField;
import flash.events.Event;
import flash.utils.Timer;
import flash.events.TimerEvent;
public class Score extends MovieClip
{
public var second:Number = 0;
public var timer:Timer = new Timer(100);
private var stageRef:Stage;
private var endScore:displayFinalScore;
public function Score(stageRef:Stage)
{
x = 560.95;
y = 31.35;
this.stageRef = stageRef;
this.endScore = endScore;
timer.addEventListener(TimerEvent.TIMER, scoreTimer);
timer.reset();
timer.start();
updateDisplay();
}
public function scoreTimer(evt:TimerEvent):void
{
second += 1;
updateDisplay();
}
public function get10Points(points:Number) : void
{
second += points;
updateDisplay();
}
public function finalScore() : void {
timer.stop();
}
public function resetTimer(): void {
timer.reset();
timer.start();
updateDisplay();
}
public function updateDisplay(): void
{
scoreDisplay.text = String("Score: " +second);
}
}
}
Код для того, где я звоню, чтобы делать вещи:
private function sendGameOver(e:Event) : void
{
//Stop the stage and remove everything
stop();
stage.removeChild(ourBoat);
stage.removeChild(score);
removeEventListener(Event.ENTER_FRAME, loop);
//Add the end score
addChild(endScore);
//Add the game over
addChild(endGame);
addChild(playAgain);
//Add the play again options
playAgain.addEventListener(MouseEvent.CLICK, newGame);
score.finalScore();
}
public function newGame (e:MouseEvent) :void
{
score.resetTimer();
gotoAndPlay(1);
removeChild(endGame);
removeChild(endScore);
removeChild(playAgain);
stage.addChild(ourBoat);
stage.addChild(score);
//Keep the boat within the desired boundaries
ourBoat.x = stage.stageWidth / 2;
ourBoat.y = stage.stageHeight - 100;
addEventListener(Event.ENTER_FRAME, loop, false, 0, true);
}