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;
        }
    }
  • 相关阅读:
    打印对象的 “精心骗局”
    js继承(自备水,这非常干货)
    递归实现深拷贝( 只要学过js递归,看不懂找我包会 )
    PuTTY SSH 使用证书免密码登录
    git 使用
    php socket通信的简单实现
    基于PHP实现短信验证码接口的方法
    PHP实现页面静态化的简单方法分享
    Yii2使用数据库操作汇总(增删查改、事务)
    PHP 获取当前页面的URL信息
  • 原文地址:https://www.cnblogs.com/lovling/p/8400332.html
Copyright © 2011-2022 走看看