中国教程网论坛's Archiver

清风掠影 发表于 2008-7-4 14:16

(转)模糊运动特效

作者:camp1314     来源:闪吧

先看下效果

[swf]http://bbs.jcwcn.com/attachment.php?aid=867280&k=6a09ad7dabb50a98877c71f1c5841df3&t=1215152212[/swf]


制作过程:

//////
//椭圆短半轴
var H = 80;
//椭圆长半轴
var W = 200;
//定义弧度的增量n
var n = 0;
//定义椭圆的中心坐标
var cenX = Stage.width/2;
var cenY = Stage.height/2-70;
//通过函数Move使3个mc位于椭圆上
function Move() {
        for (i=1; i<=4; i++) {
                //得到每个mc的弧度
                radian = 2*i*Math.PI/4;
                temp = this["p"+i];
                //设置mc的坐标
                temp._x = cenX+Math.sin(n+radian)*W;
                temp._y = cenY+Math.cos(n+radian)*H;
        }
}
//函数setPosition设置当单击按钮是mc的移动情况
function setPosition() {
        for (k=1; k<=4; k++) {
                temp1 = this["p"+k+"_btn"];
                //为每个btn定义变量
                temp1.t = k;
                temp1.onRollOver = function() {
                        mc_filters(_root["p"+this.t]);
                        m = this.t;
                        onEnterFrame = function () {
                                n += (-2*Math.PI*m/4-n)/12;
                                Move();
                                if (n == 2*Math.PI*m/4) {
                                        delete onEnterFrame;
                                }
                        };
                };
        }
}
//模糊滤镜,先导入滤镜
import flash.filters.*;
function mc_filters(mc) {
        //定义模糊的初值
        var max = 100;
        mc.onEnterFrame = function() {
                if (max>=0) {
                        max -= 3;
                        mc.filters = [new BlurFilter(max, max, 1)];
                } else {
                        delete this.onEnterFrame;
                }
        };
}
Move();
setPosition();

明月竹影 发表于 2008-7-4 14:53

强悍!不错!好玩!先占位置,有时间交练习!

wytan 发表于 2008-7-4 15:02

不错的效果,学习了

云飘飘 发表于 2008-7-4 15:51

好效果,谢谢分享

sanbos 发表于 2008-7-4 15:59

学习了

清风掠影 发表于 2008-7-4 17:02

jc:suan 上面的,占位的,欠一份作业,我记下了~

非常累心 发表于 2008-7-4 18:30

整了半天也没整出来jc:yiwen

页: [1]

Powered by Discuz! Archiver 6.1.0  © 2001-2007 Comsenz Inc.