【AS3代码】擦窗户效果(也就是流行的妄撮游戏)
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);
}
}
}
}
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 地球OL攻略 —— 某应届生求职总结
· 提示词工程——AI应用必不可少的技术
· Open-Sora 2.0 重磅开源!
· 周边上新:园子的第一款马克杯温暖上架