一张现成图片素材添加滤镜效果后,就像冬天玻璃上多了一层雾,此时鼠标充当抹布,按住并拖动鼠标即可擦去”雾气”,让图片慢慢变清晰….效果请看:在图上按住鼠标并拖动
设计思路:加载外部素材图片,将图片置于最底层,创建该图片的滤镜效果,置于上层,当鼠标按下并移动时,其实是在清晰图片的遮罩层绘制图像,此时清晰图片即可显现出来…
package{
import flash.display.Sprite;
import flash.display.Shpe;
import flash.events.Event;
import flas.events.MouseEvent;
import flash.dispay.Loader;
import flash.net.URLRequest;
import flash.display.Bitmap;
import flash.filter.BlurFilter;
//导入所需要的类
public Calss Main extends Sprite{
private var pic:Loader; //定义loader类
private var bit:Bitmap; //定义bitmap类
private lvjing:BlurFilter; //定义滤镜
private bo:boolen=false; //布尔判断值
public function Main():void{
init(); //构造器函数
}
private function init():void{
pic=new loader(); //创建loader类的实例
pic.contentLoaderInfo.addEventListener(event.COMPLETE,loadok); //侦听是否加载完成
pic.load(new URLRequest(“a.jpg”)); //加载对象
}
private function loadok(evt:Event):void{
addChild(pic);
bit=new Bitmap(evt.target.loader.content.bitmapData);// 创建清晰图(被遮罩层)
lvjing=new BlurFilter(); //创建滤镜
lvjing.blurX=5; //设置模糊程度
lvjing.blurY=5;
pic.lvjing=[lvjing]; //pic为添加滤镜后的模糊图片
addChild(bit);
var abc:Sprite=new Sprite(); //创建遮罩层
bit.mask=abc; //bit被abc遮罩
addChild(abc);
stage.addEventListener(MouseEvent.MOUSE_DOWN,down); //侦听整个舞台
stage.addEventListener(MouseEvent.MOUSE_MOVE,mmove);
stage.addEventListener(MouseEvent.MOUSE_UP,up);
}
private function down(evt:MouseEvent):void{
bo=true;
}
private function up(evt:MouseEvent):void{
bo=false;
}
private function down(evt:MouseEvent):void{
if (bo){
var a:Shape=new Shape(); //开始绘图
a.graphics.beginFill(0x00ff00);
a.graphics.drawRect(mouseX,mouseY,20); //跟随鼠标坐标,半径为20
a.graphics.endFill();
abc.addChild(a); //将绘制图像添加到遮罩层
}
}
}
}
博视界科技专注于沉浸式全景数字餐厅、全息酒店宴会厅,旨在帮传统餐饮用科技玩跨界,欢迎咨询! 官方网站:www.boseetech.com 联系方式:



猜您还喜欢:
- 怎么解决as写的flash程序画面卡顿的问题 (此文被围观5309次)
- AS3.0冒泡算法 (此文被围观4162次)
- [Flash AS3系列教程]间隔循环的三种表现方式 (此文被围观1071次)
- AS3缓动类-tween24的一种写法 (此文被围观5832次)
- as3中如何判断两个按键同时按下组合键 (此文被围观4769次)
- Flash AS3系列教程]用反射动态创建实例 (此文被围观956次)
- [AS3.0实例教程] 熟悉新的事件机制和addChild的运用 (此文被围观3266次)
- [flash系列教程]初识AS3.0 (此文被围观2484次)