11RIA 闪客社区 - 最赞 Animate Flash 论坛

搜索
查看: 2200|回复: 1
上一主题 下一主题

[显示机制] 显示对象小练习之一(遮罩mask);

[复制链接] TA的其它主题
发表于 2019-2-2 17:31:07 | 显示全部楼层 |阅读模式

【游客模式】——注册会员,加入11RIA 闪客社区吧!一起见证Flash的再次辉煌……

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
[Actionscript3] 纯文本查看 复制代码
//显示对象小练习之一(遮罩mask);
package{
import flash.display.Sprite;
import flash.net.URLRequest;
import flash.display.Loader;
import flash.display.Bitmap;
import flash.display.BitmapData;
import flash.events.Event;
import flash.events.MouseEvent;

public class SampleMask extends Sprite{
//定义一个圆形实例,用来做遮罩;
private var Cir:Sprite;
//定义一个被遮罩的位图实例;
private var Bit:Bitmap=new Bitmap();
//下面是构造函数;
public function SampleMask():void{
//初始化圆形实例;
initCir(50,50,130);
//加载一个位图;
initBit();
//拖拽圆形;
Cir.startDrag();
//为Cir添加侦听器;
}
private function initCir(xInt:int,yInt:int,R:Number):void{
Cir=new Sprite();
//画圆;
Cir.graphics.lineStyle(2,0xffffff);
Cir.graphics.beginFill(0x996600);
Cir.graphics.drawCircle(xInt,yInt,R);
Cir.graphics.endFill();
//把圆加载到舞台;
addChild(Cir);
}
private function initBit():void{
Bit=new Bitmap()
//加载一张图片;
var ur:String="Z.JPG";
var urlRe:URLRequest=new URLRequest(ur);
var lo:Loader=new Loader();
//注册侦听器,用来侦听加载完成事件;
lo.contentLoaderInfo.addEventListener(Event.COMPLETE,loadBitFun);
//捕获加载异常;
try{
trace("图片加载中……");
lo.load(urlRe);
}
catch(e:Error){
trace("图片加载错误:"+e);
}
}
private function loadBitFun(ev:Event):void{
//把加载好的图片赋值给Bit;
Bit=ev.target.loader.content as Bitmap;
//把位图加载到舞台;
addChild(Bit);
//用圆形来遮罩位图;
Bit.mask=Cir;
}
}
}

 楼主| 发表于 2019-2-2 20:45:27 | 显示全部楼层
总结:
有一段时间没写了,有点手生,
本来想要的效果是鼠标按下后遮罩再拖拽,
按理应添加侦听器,侦听鼠标事件,
但调试了半天没成功,
侦听器不起作用!
不知道哪里出现了问题,
可能是对鼠标事件了解不透吧!
于是放弃了这个效果!
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关闭

站长推荐 上一条 /1 下一条

感谢所有支持论坛的朋友:下面展示最新的5位赞助和充值的朋友……更多赞助和充值朋友的信息,请查看:永远的感谢名单

SGlW(66139)、 anghuo(841)、 whdsyes(255)、 longxia(60904)、 囫囵吞澡(58054)

下面展示总排行榜的前3名(T1-T3)和今年排行榜的前3名的朋友(C1-C3)……更多信息,请查看:总排行榜今年排行榜

T1. fhqu1462(969)、 T2. lwlpluto(14232)、 T3. 1367926921(962)  |  C1. anghuo(147)、 C2. fdisker(27945)、 C3. 囫囵吞澡(58054)



快速回复 返回顶部 返回列表