2007/06/24 | 一段影片正放、倒放的示例代码。
类别(Flash课件设计) | 评论(1) | 阅读(621) | 发表于 16:23

场景中制作一个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;
  }
 }
};

点此下载源代码

0

评论Comments