加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

ActionScript图形之遮罩

发布时间:2020-12-15 04:50:59 所属栏目:百科 来源:网络整理
导读:ActionScript图形之遮罩 2011-03-12 21:41:53 | 分类: flex | 标签: actionscript图形之遮罩 | 字号 大 中 小 订阅 xxx.mask=yyy 这样xxx中只有与yyy交叉的部分才可见,这就是遮罩。 例子: 比较取消注释后的效果,和当前的效果 package { import flash.di

ActionScript图形之遮罩

2011-03-12 21:41:53| 分类: flex | 标签:actionscript图形之遮罩 |字号 订阅

xxx.mask=yyy 这样xxx中只有与yyy交叉的部分才可见,这就是遮罩。
例子:
比较取消注释后的效果,和当前的效果
package
{
import flash.display.Shape;
import flash.display.Sprite;
public class TestMask extends Sprite
{
private var circle:Shape;
private var rec:Shape;
public function TestMask()
{
super();
circle = new Shape();
circle.graphics.beginFill(0xfff000);
circle.graphics.drawCircle(250,250,250);
circle.graphics.endFill();
rec = new Shape();
rec.graphics.beginFill(0xff0000);
rec.graphics.drawRect(0,500,20);
rec.graphics.endFill();
//circle.mask = rec;
this.addChild(rec);
this.addChild(circle);
}
}
}

动态遮罩
package
{
import flash.display.Shape;
import flash.display.Sprite;
import flash.events.MouseEvent;
public class TestMask extends Sprite
{
private var circle:Sprite;
private var rec:Sprite;
public function TestMask()
{
super();
circle = new Sprite();
rec = new Sprite();
rec.graphics.beginFill(0xfff000);
rec.graphics.drawRect(50,50,200,200);
rec.graphics.endFill();

this.addChild(circle);
this.addChild(rec);
rec.addEventListener(MouseEvent.MOUSE_MOVE,createRec);
rec.addEventListener(MouseEvent.MOUSE_OUT,dropRec);
}
private function createRec(evt:MouseEvent):void
{
circle.graphics.clear();
circle.graphics.beginFill(0xff000);
circle.graphics.drawCircle(evt.localX,evt.localY,100);
circle.graphics.endFill();
rec.mask = circle;

}
private function dropRec(evt:MouseEvent):void
{
rec.mask = null;
}
}
}

百叶窗
package
{
import flash.display.Shape;
import flash.display.Sprite;
import flash.events.MouseEvent;
public class TestMask2 extends Sprite
{
private var circle:Sprite;
private var rec:Sprite;
public function TestMask2()
{
super();
rec = new Sprite();
rec.graphics.beginFill(0xfff000);
rec.graphics.drawRect(50,20);
rec.graphics.drawRect(50,80,110,140,170,20);
rec.graphics.endFill();
circle = new Sprite();
circle.graphics.beginFill(0xff0000);
circle.graphics.drawCircle(450/2,100);
circle.graphics.endFill();
rec.mask = circle;
this.addChild(circle);
this.addChild(rec);
}
}
}

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读