您的位置:首页 > 编程语言

【AS3代码】擦窗户效果(也就是流行的妄撮游戏)

2012-08-10 15:24 423 查看
源码下载:《妄撮(Mosatsu)》撕掉她的衣服在线游戏

package
{
import flash.display.Bitmap;
import flash.display.Loader;
import flash.display.Shape;
import flash.display.Sprite;
import flash.events.Event;
import flash.events.MouseEvent;
import flash.filters.BlurFilter;
import flash.net.URLRequest;

public class Main extends Sprite
{
private var _pic:Loader;
private var _pic2:Loader;
private var _bit:Bitmap;
private var abc:Sprite;
private var bo:Boolean = false; //表示当前鼠标不进行绘图

public function Main():void
{
//载入图片
_pic = new Loader();
_pic2 = new Loader();
_pic.load(new URLRequest("pp.jpg"));

//监听加载完毕事件
_pic.contentLoaderInfo.addEventListener(Event.COMPLETE,loadok);
}
private function loadok(evt:Event):void
{
//----上层添加模糊图片的写法---------------------

//定义模糊滤镜
//var lvjing:BlurFilter = new BlurFilter();
//lvjing.blurX = 0;
//lvjing.blurY = 0;
//_pic.filters = [lvjing]; //模糊设置绑定到图片上

//将使用了模糊滤镜的图片添加到舞台
//this.addChild(_pic);

//将保持原有清晰度的图片添加到舞台(该图片在模糊图片的上层)
//_bit = new Bitmap(evt.target.loader.content.bitmapData);
//this.addChild(_bit);

//给清晰图片上加一层遮罩层(遮罩也就是把当前图片遮住,隐藏)
//abc = new Sprite();
//_bit.mask = abc;
//this.addChild(abc);

//----上层添加一张新图的写法----------------------------------------

//将下层的原图添加到舞台
this.addChild(_pic);

//载入另一张图片,并添加到舞台(放置在之前图片的上层)
_pic2 = new Loader();
_pic2.load(new URLRequest("pp2.jpg"));
this.addChild(_pic2);

//创建一个遮罩对象
abc = new Sprite();

//将遮罩应用在最上层的图片上,使之隐藏
_pic2.mask = abc;
this.addChild(abc);

//监听舞台中擦窗户的动作(鼠标事件)按住鼠标拖动时才是擦窗户
//鼠标按下
this.stage.addEventListener(MouseEvent.MOUSE_DOWN, down);

//鼠标移动
this.stage.addEventListener(MouseEvent.MOUSE_MOVE, mmove);

//鼠标抬起
this.stage.addEventListener(MouseEvent.MOUSE_UP, up);
}

//鼠标按下,设为可以绘图
private function down(evt:MouseEvent):void
{
bo = true;
}
//鼠标抬起,设为不可绘图
private function up(evt:MouseEvent):void
{
bo = false;
}
//鼠标移动,开始绘图
private function mmove(evt:MouseEvent):void
{
if(bo == true)
{
var a:Shape = new Shape();
a.graphics.beginFill(0x00ff00);
a.graphics.drawCircle(this.mouseX, this.mouseY, 25); //鼠标在哪,就在哪绘制
a.graphics.endFill();

//将绘制添加到遮罩层
abc.addChild(a);
}
}
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: