zoukankan      html  css  js  c++  java
  • 白鹭引擎

    1: 矩形遮罩

    class Main extends egret.DisplayObjectContainer {
    
        /**
         * Main 类构造器, 初始化的时候自动执行, ( 子类的构造函数必须调用父类的构造函数 super )
         * constructor 是类的构造函数, 类在实例化的时候调用
         * egret.Event.ADDED_TO_STAGE, 在将显示对象添加到舞台显示列表时调度
         */
        public constructor() {
            super();
            this.addEventListener(egret.Event.ADDED_TO_STAGE, this.onAddToStage, this);
        }
    
        /**
         *  1, 创建一个矩形遮罩: new egret.Rectangle(起点x, 起点y, 宽度值, 高度值)
         *  2, 遮罩要器作用, 就将遮罩的实例赋值给 显示对象.mask 属性
         *  3, 注意, 遮罩的意思其实是给显示对象加了一个范围, 显示对象只有在遮罩范围内的区域才会显示
         *  4, 注意, 如果遮罩发生变化, 需要从新赋值才能起作用
         */
        private onAddToStage(event: egret.Event) {
    
            var shp:egret.Shape = new egret.Shape();
            shp.graphics.beginFill( 0xff0000 );
            shp.graphics.drawRect( 0,0,300,300);
            shp.graphics.endFill();
    
            this.addChild( shp );
            var shp2:egret.Shape = new egret.Shape();
            shp2.graphics.beginFill( 0x00ff00 );
            shp2.graphics.drawCircle( 100,100, 100);
            shp2.graphics.endFill();
            this.addChild( shp2 );
            shp2.x = 20;
            shp2.y = 20;
    
            var rect:egret.Rectangle = new egret.Rectangle(20,20,30,50);
            shp.mask = rect;
        }
    }

    2: 显示对象遮罩

    class Main extends egret.DisplayObjectContainer {
    
        /**
         * Main 类构造器, 初始化的时候自动执行, ( 子类的构造函数必须调用父类的构造函数 super )
         * constructor 是类的构造函数, 类在实例化的时候调用
         * egret.Event.ADDED_TO_STAGE, 在将显示对象添加到舞台显示列表时调度
         */
        public constructor() {
            super();
            this.addEventListener(egret.Event.ADDED_TO_STAGE, this.onAddToStage, this);
        }
    
        /**
         * 显示对象可以作为另一个显示对象的遮罩, 作为遮罩的对象最好也添加的舞台中
         * 遮罩后, 被遮罩的显示对象只有和遮罩的显示对象重叠的部分才会显示
         */
        private onAddToStage(event: egret.Event) {
    
            //画一个红色的正方形
            var square:egret.Shape = new egret.Shape();
            square.graphics.beginFill(0xff0000);
            square.graphics.drawRect(0,0,100,100);
            square.graphics.endFill();
            this.addChild(square);
    
            //画一个蓝色的圆形
            var circle:egret.Shape = new egret.Shape();
            circle.graphics.beginFill(0x0000ff);
            circle.graphics.drawCircle(25,25,25);
            circle.graphics.endFill();
            this.addChild(circle);
            square.mask = circle;
        }
    }
  • 相关阅读:
    Redis 在 分布式项目中 的小应用--分布式锁 模拟session 分布式自增id
    自动生成swagger 前后端分离 对接文档
    利用IDEA 把maven工程中spring-boot的某个模块打成jar包
    利用SQL语句,把本地Excel文件批量导入mysql数据库,做测试数据使用
    Java常用API-String类
    网络编程模型及TCP、UDP编程设计
    计算机网络模型构架分析
    多线程程序的设计详解
    多进程、进程间通讯设计
    Linux 文件编程、时间编程基本函数
  • 原文地址:https://www.cnblogs.com/lovling/p/8400332.html
Copyright © 2011-2022 走看看