Actionscript 3 如何在AS3中的特定帧上播放movieclip?

Actionscript 3 如何在AS3中的特定帧上播放movieclip?,actionscript-3,flash,Actionscript 3,Flash,我对Flash非常生疏,大概有10年没有接触过它,似乎无法理解这一点,也无法在网上找到它: 我有一个有两层的电影唇,每层都有一个形状。基本上,它是一扇可以打开和关闭的门 我把它放到了主时间表上,但现在我需要它开始和停止。自从上次我使用Flash动作可以在特定的关键帧上进行以来,这就是我现在正在努力的地方 我创建了一个名为actions的新层,以保持事物的有序性,目前有: barrier1.stop(); 我只想要一个能让我说出画面的东西,比如57,让barrier1开始播放。尝试使用play(

我对Flash非常生疏,大概有10年没有接触过它,似乎无法理解这一点,也无法在网上找到它:

我有一个有两层的电影唇,每层都有一个形状。基本上,它是一扇可以打开和关闭的门

我把它放到了主时间表上,但现在我需要它开始和停止。自从上次我使用Flash动作可以在特定的关键帧上进行以来,这就是我现在正在努力的地方

我创建了一个名为actions的新层,以保持事物的有序性,目前有:

barrier1.stop();

我只想要一个能让我说出画面的东西,比如57,让barrier1开始播放。尝试使用
play()
事件。如果运气不好,请输入\u FRAME
。我该如何设置呢?

好吧,使用movieClip的实例名很容易

barrier1.stop(); // Stops the movieClip
barrier1.play(); // Resumes 
barrier1.gotoAndStop(12) // Goes to 12nd frame and stop
barrier1.gotoAndPlay(12) // Goes to 12nd frame and play
barrier1.currentFrame // returns barrier currentframe
用于从场景级别捕获帧:

this.addEventListener(Event.ENTER_FRAME,onLoop);
function onLoop(event:Event){
  if(barrier1.currentFrame == 57){
     trace("BARRIER is in 57. frame");
  }
}
在第一帧上的动画剪辑的内部

var root:MovieClip = this.parent as MovieClip
root.makeStartSceneAnimation()

**in timeline scene level [root]**

function makeStartSceneAnimation(){
    /// barrier started to play

}

如果您使用的是时间线,则可以在所需帧上添加关键帧,然后添加停止();作为动作层中的动作。但请记住,如果你在主时间线中这样做,它将停止一切。如果你想停止电影剪辑,那么你必须在电影剪辑的时间线内完成这项工作。

这是如何回答这个问题的?我不想让我的场景跳到第57帧,我想让我的场景播放到第57帧,此时barrier1内的动画开始。嘎,我知道这一定是我错过了什么。只需要在尝试添加动作之前添加关键帧。不知道你为什么说它会停止一切,我只是用了
barrier1.stop()在一个新的关键帧上,它工作得非常好。