返回列表 回复 发帖

请问按扭怎样控制顺序和倒序动画?

场景的按扭们怎样灵活控制播放动画??

例如:
1、当按“第30帧”按扭,动画就从第1帧顺利播放到30帧并停顿。

2、如果时间停留在第30帧情况下,当按“第20帧”的按扭,动画就从第30帧倒着播放到第20帧处并停顿,但不要直接gotostop跳转到20帧算了,因为我要显示30帧---20帧那段倒序动画。

3、如果时间停留在第30帧情况下,当再按“第10帧”的按扭,动画就从第30帧倒着播放到第10帧处并停顿,不要gotostop跳转到10帧,因为要显示30--10帧段倒序动画。

4、如果时间停留在10帧,当再按“第30帧”,动画也必须也从10帧顺着播放到30帧。

按以上的如此类推,无论时间停顿在哪个帧,只要按哪个按扭,各个帧的时间段的动画都要显示出来,该顺着播放就顺着播放,该倒序播放就倒着播放。
按扭们要灵活控制时间动画。


半成品的falsh源文件下载地址:http://www.6fdc.com/asing/ab.rar



哪位高手有空帮我在这里写下教程?
或者下载源文件写上代码,然后把源文件发给我,E-mail:39546135@qq.coma-sing@qq.com
刚好知道
on (rollOver) {
        onEnterFrame = function () { mc_1.nextFrame();};
}
on (rollOut) {
        onEnterFrame = function () { mc_1.prevFrame();};
}
http://the4v.com
楼上兄弟的代码还是实现不了我说的那样的效果啊

阿里巴巴诚信通帐号共用

提示: 作者被禁止或删除 内容自动屏蔽
是不是这样?

动画.swf (1.72 KB)

动画.fla (31 KB)

非常感谢楼上,太有才了!!是的,我就是要这个效果,不过,我看你的代码似乎有点懂,似乎又有点不懂,如果我以后添加多些帧段,哪加哪里?
能解释一下代码吗?


以下是你帮我写的代码:
var btns_array:Array = [b1, b10, b20, b30];
var ID:Number = 30;
var b:Boolean = false;
for (var i:Number = 0; i<4; i++) {
        btns_array.onPress = function() {
                var n:Number = Number(this._name.substr(1, 2));
                ID = n;
                b = true;
        };
}
onEnterFrame = function () {
        if (this._currentframe == 30) {
                this.stop();
        }
        if (b) {
                if (this._currentframe>ID) {
                        this.prevFrame();
                } else if (this._currentframe<ID) {
                        this.nextFrame();
                } else {
                        this.stop();
                }
        }
};
原帖由 mingjay 于 2008-7-17 07:25 发表
非常感谢楼上,太有才了!!是的,我就是要这个效果,不过,我看你的代码似乎有点懂,似乎又有点不懂,如果我以后添加多些帧段,哪加哪里?
能解释一下代码吗?


以下是你帮我写的代码:
var btns_array:Array ...
  1. var btns_array:Array = [b1, b10, b20, b30];//1. 此处数组中可以增加按钮,按钮名称后面的数字与你的停帧处标签对应
  2. var ID:Number =1;
  3. var totalF:Number=30;// 2. 总帧数
  4. var b:Boolean = false;
  5. var long:Number=btns_array.length;
  6. for (var i:Number = 0; i<long; i++) {
  7.         btns_array[i].onPress = function() {
  8.                 var n:Number = Number(this._name.substr(1, 3));//  3.三位数应该够用了吧
  9.                 ID = n;
  10.                 b = true;
  11.         };
  12. }
  13. onEnterFrame = function () {
  14.         if (this._currentframe == totalF) {
  15.                 this.stop();
  16.         }
  17.         if (b) {
  18.                 if (this._currentframe>ID) {
  19.                         this.prevFrame();
  20.                 } else if (this._currentframe<ID) {
  21.                         this.nextFrame();
  22.                 } else {
  23.                         this.stop();
  24.                 }
  25.         }
  26. };
复制代码
well,这里的人心地实在太好了,令菜鸟非常开心了,感谢楼上。
我还想再问多点点:
如果被控制动画以mc形式出现呢?
我意思说,按扭在场景里,如果要控制里在mc剪辑里的动画时间帧,又怎样写??
原帖由 mingjay 于 2008-7-17 08:30 发表
well,这里的人心地实在太好了,令菜鸟非常开心了,感谢楼上。
我还想再问多点点:
如果被控制动画以mc形式出现呢?
我意思说,按扭在场景里,如果要控制里在mc剪辑里的动画时间帧,又怎样写??
  1. var btns_array:Array = [b1, b10, b20, b30];//1. 此处数组中可以增加按钮,按钮名称后面的数字与你的停帧处标签对应
  2. var ID:Number =1;
  3. var totalF:Number=30;// 2. 总帧数
  4. var b:Boolean = false;
  5. var long:Number=btns_array.length;
  6. for (var i:Number = 0; i<long; i++) {
  7.         btns_array[i].onPress = function() {
  8.                 var n:Number = Number(this._name.substr(1, 3));//  3.三位数应该够用了吧
  9.                 ID = n;
  10.                 b = true;
  11.         };
  12. }
  13. mc.onEnterFrame = function () {//注意此处mc
  14.         if (this._currentframe == totalF) {
  15.                 this.stop();
  16.         }
  17.         if (b) {
  18.                 if (this._currentframe>ID) {
  19.                         this.prevFrame();
  20.                 } else if (this._currentframe<ID) {
  21.                         this.nextFrame();
  22.                 } else {
  23.                         this.stop();
  24.                 }
  25.         }
  26. };
复制代码
为什么这个代码,执行成功后,所停留的帧总是完全静帧,所有动画效果全部消失??
http://the4v.com
原帖由 zhusw 于 2008-7-19 00:20 发表
为什么这个代码,执行成功后,所停留的帧总是完全静帧,所有动画效果全部消失??

动画.swf (3.52 KB)

动画.fla (34 KB)

返回列表