funkypanky
08.06.2013, 16:16
Всем привет!:)
Тестирую появление всплывающих очков, которые должны единожды появляться в определённое время при нажатии на кнопку(в моём случае когда FPS достигает отметки 40).
Но чую допускаю ошибку при написании кода--> когда счётчик стоит на отметке 40, экземпляры очков создаются постоянно. Подскажите пожалуйста как это исправить, чтобы стоя на отметки 40, очко появилось только один раз.
Вот сам код(пишу во Flash cs6), на сцене создаю три объекта с именами "mRect", "mBut" , "fpsText" и mScore", являющийся классом scor:
Исходник прилагаю.
mRect.addEventListener(Event.ENTER_FRAME, loop);
function loop(e:Event):void{
mRect.rotation += 5;
fpsText.text = "FPS:"+(stage.frameRate).toString();
if (stage.frameRate ==40){
score();
}
}
mBut.addEventListener(MouseEvent.CLICK, onMouseclick);
function onMouseclick(e:MouseEvent):void{
stage.frameRate++;
}
function score():void{
var mScore:scor = new scor();
mScore.x =mRect.x;
mScore.y =mRect.y;
mScore.alpha = 1;
addChild(mScore);
mScore.addEventListener(Event.ENTER_FRAME, scoreMove);
}
function scoreMove(e:Event):void{
e.target.y -=1;
e.target.alpha-=0.01;
}
Тестирую появление всплывающих очков, которые должны единожды появляться в определённое время при нажатии на кнопку(в моём случае когда FPS достигает отметки 40).
Но чую допускаю ошибку при написании кода--> когда счётчик стоит на отметке 40, экземпляры очков создаются постоянно. Подскажите пожалуйста как это исправить, чтобы стоя на отметки 40, очко появилось только один раз.
Вот сам код(пишу во Flash cs6), на сцене создаю три объекта с именами "mRect", "mBut" , "fpsText" и mScore", являющийся классом scor:
Исходник прилагаю.
mRect.addEventListener(Event.ENTER_FRAME, loop);
function loop(e:Event):void{
mRect.rotation += 5;
fpsText.text = "FPS:"+(stage.frameRate).toString();
if (stage.frameRate ==40){
score();
}
}
mBut.addEventListener(MouseEvent.CLICK, onMouseclick);
function onMouseclick(e:MouseEvent):void{
stage.frameRate++;
}
function score():void{
var mScore:scor = new scor();
mScore.x =mRect.x;
mScore.y =mRect.y;
mScore.alpha = 1;
addChild(mScore);
mScore.addEventListener(Event.ENTER_FRAME, scoreMove);
}
function scoreMove(e:Event):void{
e.target.y -=1;
e.target.alpha-=0.01;
}