当前位置: 首页 > 图文教程 > Flash动画 > Flash动画制作 > 用AS控制补间动画速度

Flash动画制作
Flash交互式动画教程:星座查询器的制作
Flash教程:测试AS代码的执行速度
Flash教程:常用短语trace();的使用
Flash教程:if条件语句的用法
FLASH教程:可爱不倒翁动画效果
Flash教程:旋转拖尾文字效果的制作
Flash教程:运用DynamicRegistration类动态改变注册点的使用方法
Flash初学者系列教程:常用工具的使用(一)
Flash 【AS2.0】教程:获取外部按钮方法
Flash教程:10类ActionScript过渡效果演示及代码整理
Flash教程:位图实现形状渐变效果的方法
Flash教程:利用遮罩制作x光机透视效果
Flash鼠绘教程:马蹄莲制作过程
用Flash制作水墨画动画教程
Flash教程:通过实例学习AS(一):火焰的制作
Flash教程:通过实例学习AS(二):小狗追骨头
Flash教程:通过实例学习AS(三):体质测试
Flash教程:菜鸟一起学画画之初级练习一:叶子的绘制
Flash教程:旋转相册的制作
Flash教程:翻书效果的制作

Flash动画制作 中的 用AS控制补间动画速度


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-11-22   浏览: 59 ::
收藏到网摘: n/a

这是一个在AS2.0环境使用的控制补间动画帧数的Function. 原理是'跳帧'.

MovieClip.FPS(framePlaySpeed:Number,loop):Void

参数

MovieClip:MovieClip - 影片剪辑实例名;
framePlaySpeed:Number - 每秒播放影片帧数;
loop - [可选] true - 循环播放; 0或false - 不循环(只播放一次); 数字 - 播放指定次数

示例

此部分代码只需要在影片中添加1次

MovieClip.prototype.FPS = function(n:Number, loop) {
        // copyright (c) XIIID.com
        clearInterval(this.fps);
        this.l = typeof (loop) == "boolean" ? loop ? Number.MAX_VALUE : 0 : Number(loop)>0 ? loop : 0;
        // this.gotoAndStop(1);
        this.fps = setInterval(function (target:MovieClip) {
                if (target._currentframe == target._totalframes) {
                        target.l--;
                        if (target.l<1) {
                                clearInterval(target.fps);
                        } else {
                                target.gotoAndStop(1);
                        }
                } else {
                        target.nextFrame();
                }
                updateAfterEvent();
        }, 1000/n, this);
};


以下代码指定场景中实例名为_mc的影片剪辑帧速为50,循环播放

_mc.FPS(50,true);

以下代码指定主场景帧速为12,播放2次

_root.FPS(12,2);

注意

此脚本只适用于普通的补间动画,如果您的动画中含有脚本或者帧数过少,可能导致该脚本无法正常工作.

附件: setFPS.swf