如何在AS3中的特定帧上播放动画片段?

时间:2015-06-03 18:39:17

标签: actionscript-3 flash

我很难生于Flash,大概10年没碰过它,似乎无法解决这个问题,或者在网上找到它:

我有一个包含两个图层的MovieClip,每个图层都有一个Shape Tween。基本上它是一扇打开和关闭的门。

我将它放到主时间轴上,但现在我需要它来启动和停止。这是我现在正在苦苦挣扎的地方,因为我上次使用Flash操作时可以使用特定的关键帧。

我创建了一个名为actions的新图层,只是为了让事情井井有条,现在有了:

barrier1.stop();

我只想要一些能让我说出一个框架的东西,比方说57让barrier1开始播放。使用play();Event.ENTER_FRAME尝试没有运气。我该如何设置呢?

2 个答案:

答案 0 :(得分:1)

使用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

}

答案 1 :(得分:0)

如果您使用的是时间轴,可以在所需的帧上添加Key frame,然后添加stop();作为动作层中的动作。但请记住,如果你在主时间轴上这样做 - 它会阻止一切。如果你想停止那个MovieClip,那么你必须在MoviceClip的时间线内完成这个。