zoukankan      html  css  js  c++  java
  • ActionScript图形之遮罩

    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,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,50,500,20);
    rec.graphics.drawRect(50,80,500,20);
    rec.graphics.drawRect(50,110,500,20);
    rec.graphics.drawRect(50,140,500,20);
    rec.graphics.drawRect(50,170,500,20);
    rec.graphics.endFill();
    circle = new Sprite();
    circle.graphics.beginFill(0xff0000);
    circle.graphics.drawCircle(450/2, 110, 100);
    circle.graphics.endFill();
    rec.mask = circle;
    this.addChild(circle);
    this.addChild(rec);
    }
    }
    }
  • 相关阅读:
    5.9
    5.8
    5.4
    04--深入探讨C++中的引用
    01--Qt扫盲篇
    00--Qt Creator 你必须要掌握的快捷操作
    02--读书笔记之:C++ Primer (第4版)及习题
    01--[转]C++强大背后
    01--数据结构——动态链表(C++)
    04-手把手教你把Vim改装成一个IDE编程环境(图文)
  • 原文地址:https://www.cnblogs.com/xiayong123/p/3717072.html
Copyright © 2011-2022 走看看