场景中制作一个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;
}
}
};
点此下载源代码