场景中制作一个mc ,内部作一段向下移动的动画,正常播放时,小球向下落,倒放时小球会“弹起”。
代码如下:
var dir = true; //移动方向,true 为正放,false 为倒放
mc.stop();
onEnterFrame = function () {
 if (dir) {  //方向为真,则正放,否则为倒放
  mc.nextFrame();
  if (mc._currentframe == mc._totalframes) {
   dir = !dir; // 当到达最后一帧后,令播放方向发生反转
  }
 } else {
  mc.prevFrame();
  if (mc._currentframe == 1) {
   dir = !dir;// 当到达第一帧后,令播放方向发生反转
  }
 }
};
影片剪辑中有以下属性和方法:
_currentframe 当前帧号、
_totalframes 总帧数、
nextFrame() 播放并停到下一帧,
prevFrame()播放并停到前一帧
_currentframe 表示当前帧的帧号,当前帧为第一帧时值为1,当前帧为最后一帧时,该数值与 _totalframes 值相等。 随着播放的进行_currentframe 会被系统自动的刷新。
mc.gotoAndStop (mc._currentframe + 1);  等同于 mc.nextFrame();
mc.gotoAndStop (mc._currentframe  - 1);  等同于 mc.prevFrame();
所以代码还可以这么写:
var dir = true;
mc.stop ();
trace(mc._currentframe);
onEnterFrame = function () {
 if (dir) {
  mc.gotoAndStop (mc._currentframe + 1);
  if (mc._currentframe == mc._totalframes) {
   dir = !dir;
  }
 } else {
  mc.gotoAndStop (mc._currentframe - 1);
  if (mc._currentframe == 1) {
   dir = !dir;
  }
 }
};
回复Comments
作者:
{commentrecontent}