发新话题
打印

[分享] 模糊运动特效(绝对原创)

模糊运动特效(绝对原创)

那天在网上看到一个效果,感觉不错,今天晚上没事自己也模仿了一下。做得不好,希望大家不要见笑!
//////
//椭圆短半轴
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();

附件

mohu.swf (14.64 KB)

2008-5-6 20:59, 下载次数: 428

mohu.fla (75 KB)

2008-5-6 20:59, 下载次数: 237

TOP

非常好!

TOP

不错

[ 本帖最后由 Sam_appleseed 于 2008-5-6 23:18 编辑 ]
我擦一擦嘴巴,不留下一颗饭粒~

TOP

觉得楼主的好玩,也做了一个:
import flash.filters.*;
import flash.geom.*;
function blur_fc(_mc:MovieClip, x, y) {
var max:Number = 50;
var mouse_pointoint = new Point(x, y);
var mc_pointoint = new Point(_mc._x, _mc._y);
var d:Number = Point.distance(mouse_point, mc_point);
_mc.onEnterFrame = function() {
  if (d>=0) {
   //移动
   _mc._x += (x-_mc._x)/2;
   _mc._y += (y-_mc._y)/2;
   mouse_point = new Point(_xmouse, _ymouse);
   mc_point = new Point(_mc._x, _mc._y);
   d = Point.distance(mouse_point, mc_point);
   //模糊
   if (max>=0) {
    _mc.filters = [new BlurFilter(max, max, 1)];
    max -= 2;
   }
  } else {
   delete _mc.onEnterFrame;
  }
};
}
_root.onMouseDown = function() {
x = _xmouse;
y = _ymouse;
blur_fc(mc, x, y);
};
_root.onMouseUp = function() {
};
模糊效果.swf (523 Bytes)

TOP

学习

TOP

不丑~!
FLASH Everyday

TOP

水平很高,看来俺还是要加快学习的.

TOP

效果不错,学习。。。

TOP

_mc.filters = [new BlurFilter(max, max, 1)];

没用过,学习了。。。

TOP

TOP

很好。就是这代码弄不懂,遗憾!

TOP

谢谢

TOP

不错啦!

偶不会做 哈哈

TOP

学习,学习,学习。
天生我才必有用。

TOP

借你的地方问个问题
不好意思,刚刚注册还不能发新帖,到这里问一个问题,有高手路过请指教一下
我用js判断客户机浏览器是否安装了flash插件,安装了就显示flash,否则到另外一个页面。
但是发现一个问题,有的客户机没有安装flash插件,但是可能是因为装了迅雷看看一类的东西,
他的浏览器也能正常显示flash。
这样就会漏掉一些其实能正常显示flash的客户机,让他们到另一个页面去了。
有没有一种方法直接判断客户机浏览器能否播放flash,而不是只是判断是否装了flash插件。

TOP

收藏,学习.谢谢!

TOP

发新话题