你们好,我现在做一段小的FLASH,其中某些祯想以比较慢的速度播放,比如,1-100祯是12fps,101-110我想以20fps这种比较快的速度播放过去.求一段这样的代码.
PS.延长祯的方法我也想到了,但是那样占空间相对来说比较大吧?而且看祯那么多也不美观.最好直接发代码(有点注释最好拉)或直接有代码的页拉.不要发那种目录样的页.找着也很闷的- -!
var i:Number = 0;
var speed:Number = 4;
_root.onEnterFrame = function() {
trace(_currentframe);
if (_currentframe>=20) {
if (i%speed == 0) {
nextFrame();
trace(i);
}
i++;
}
};
上面的代码意思就是当播放到第20帧的时候后面的速度就是原来的1/4。
空白帧 不会增加体积
空白帧只是上一帧的延续
1~100帧 共100帧 以12帧速度播放
101~110帧 共10帧 以20帧速度播放
flash文件可以选择本身的播放帧数FPS 后面的数字就代表当前flash的播放帧数
一般以大的来选 按你的需求就是20帧
然后解决怎么以20帧的速度播放12帧的动画
最简单的方法是加入空白帧 在时间轴点击F5快捷键就可以添加空白帧了
20-12=8 也就是说你要把12帧变成20帧 要添加8个空白帧
8个空白帧插入的地方要你自己决定
因为我不知道你做的动画 是逐帧动画 还是补间混合
In a word,来说100帧/12帧=播放秒数 大约8秒
8秒乘以 20帧=160帧
你大约要添加60帧的空白帧在12帧播放的100帧中
如果你一定要用代码的话
请参考 timer 组件
控制播放的速度
在1~100帧中
AS3中 var t:Timer=new Timer(每N时间触发一次)
N=1秒 除以你需要的帧速 再乘以1000 (毫秒单位)
比如 你需要的帧数=20
N=1/20 *1000=50;
注意你flash 播放帧数要大于20 timer才会在每20帧触发一次
然后给t 添加监听 ,函数执行控制时间轴播放一帧
然后t.start();
101帧后 同理设置
PS:不推荐这种播放方法
PS2: AS2代码 看不太懂
不过你监听的每帧触发一次 函数中 代码处理的速度很快的
不会达到你预想的效果
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息