首先,这不是我编写的新代码 这是我编辑的代码,我希望我的火箭下降并保持1秒,直到午餐。我在火箭上做了一个动画,以便在24帧下降。
这段代码因为动画导致我的火箭掉落,但是当它掉落时它会移动。
public class RocketMss extends MovieClip {
var rocketSpeed:Number;
var rocketTimer:Timer;
var timing:Number;
function RocketMss() {
timing = 0;
rocketSpeed = 12;
addEventListener("enterFrame", enterFrame);
}
function enterFrame(e:Event){
rocketTimer = new Timer(100);
timing = 1;
if(timing == 1){
this.x += rocketSpeed;
timing = 0;
if((this.currentFrame == this.totalFrames) && this.x > 640){
removeEventListener("enterFrame", enterFrame);
stage.removeChild(this);
}
}
}
谢谢你的回答。
答案 0 :(得分:0)
您可以使用Timer
或setTimeout
延迟输入框架的开始。例如:
function RocketMss() {
setTimeout(startMoving, 1000);
}
function startMoving():void {
addEventListener(Event.ENTER_FRAME, enterFrame);
}
function enterFrame(e:Event):void {
this.x += rocketSpeed;
if(this.x > 640){
removeEventListener(Event.ENTER_FRAME, enterFrame);
stage.removeChild(this);
}
}
另一种方法是在“drop”动画完成后从一帧中调用时间轴中的startMoving
函数。
另一种方法是依靠框架标签,并且在enterFrame
处理程序中,您只需在移动之前检查currentLabel
。