跟随鼠标变化的滤镜效果
【flash8新特性实例教材】跟随鼠标变化的滤镜效果
本实例使用flash8制作和发布,请把你的ie浏览插件更新为flash8查看~
[upload=swf]UploadFile/2005-12/20051231183349122.sw
制作主要使用如下方法:
1、制作一个MC,拖入到舞台上,修改实例名为myMC
2、添加下列代码:
import flash.filters.*;//载入滤镜类
// 定义初始斜角滤镜的偏移距离
var maxbeveldistance:Number = 5;
// 创建一个斜角滤镜
var bevel:BevelFilter = new BevelFilter();
// 定义初始斜角滤镜的强度
bevel.strength = .6;
// 创建一个投影滤镜
var dropshadowropShadowFilter = new DropShadowFilter();
//投影滤镜初始化
dropshadow.color = 0x000000;
dropshadow.alpha = .75;
dropshadow.blurX = 10;
dropshadow.blurY = 10;
// 跟随鼠标变化更新滤镜数据
onMouseMove = function(){
// 计算当前鼠标与mc之间的距离差
var dx = _xmouse - myMC._x;
var dy = _ymouse - myMC._y;
//计算距离
var distance = Math.sqrt(dx*dx + dy*dy);
// 计算偏移角
var angle = Math.atan2(dy, dx);
// 应用斜角发光的偏移距离和角度
bevel.distance = Math.min(maxbeveldistance, distance/50);
bevel.angle = 180 + angle * 180/Math.PI; // convert and rotate 180 degress
// 应用投影偏移距离和角度
dropshadow.distance = distance/20;
dropshadow.angle = 180 + angle * 180/Math.PI; // convert and rotate 180 degress
// 在mc上增加滤镜~
myMC.filters = [bevel, dropshadow];
}
//初始化
onMouseMove();
由于滤镜的效果很多,只是使用这几个,也可以使用不同的滤镜效果~
[upload=swf]UploadFile/2005-12/20051231183349122.sw
制作主要使用如下方法:
1、制作一个MC,拖入到舞台上,修改实例名为myMC
2、添加下列代码:
import flash.filters.*;//载入滤镜类
// 定义初始斜角滤镜的偏移距离
var maxbeveldistance:Number = 5;
// 创建一个斜角滤镜
var bevel:BevelFilter = new BevelFilter();
// 定义初始斜角滤镜的强度
bevel.strength = .6;
// 创建一个投影滤镜
var dropshadowropShadowFilter = new DropShadowFilter();
//投影滤镜初始化
dropshadow.color = 0x000000;
dropshadow.alpha = .75;
dropshadow.blurX = 10;
dropshadow.blurY = 10;
// 跟随鼠标变化更新滤镜数据
onMouseMove = function(){
// 计算当前鼠标与mc之间的距离差
var dx = _xmouse - myMC._x;
var dy = _ymouse - myMC._y;
//计算距离
var distance = Math.sqrt(dx*dx + dy*dy);
// 计算偏移角
var angle = Math.atan2(dy, dx);
// 应用斜角发光的偏移距离和角度
bevel.distance = Math.min(maxbeveldistance, distance/50);
bevel.angle = 180 + angle * 180/Math.PI; // convert and rotate 180 degress
// 应用投影偏移距离和角度
dropshadow.distance = distance/20;
dropshadow.angle = 180 + angle * 180/Math.PI; // convert and rotate 180 degress
// 在mc上增加滤镜~
myMC.filters = [bevel, dropshadow];
}
//初始化
onMouseMove();
由于滤镜的效果很多,只是使用这几个,也可以使用不同的滤镜效果~
补充:flash教程,Action