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;
        }
    }
  • 相关阅读:
    模块化工具require 学习笔记
    学习Jade模板引擎
    通过border来实现各种三角符号
    使用vscode 编译 sass
    Javascript 运行机制
    Vue调试工具 vue-devtools
    MVVM框架
    通信类
    面向对象
    原型和原型链
  • 原文地址:https://www.cnblogs.com/lovling/p/8400332.html
Copyright © 2011-2022 走看看