• Egret的容器--删除对象,遮罩


    class P91F extends egret.Sprite {
    	public constructor() {
    		super();
    		this.addEventListener(egret.Event.ADDED_TO_STAGE, this.onAddToStage, this);
    	}
    	private onAddToStage(event: egret.Event) {
    		//轻量级容器 DisplayObjectContainer;若在游戏中需要利用容器相关的功能,可以直接创建DisplayObjectContainer类的实例对象
    		//自定义容器,编写一个类继承DisplayObjectContainer即可;若要实现graphics相关的,可继承Sprite
    		//自定义一个容器类,ShapeTest 继承自egret.Sprite;在文档类Main中实例化 P91F 
    		//实例化代码 
    		/** 
    	 	创建场景界面 
       		protected createGameScene(): void {
    		var _shapeTest:P91F  = new P91F (); 
    		this.addChild(_shapeTest);
      		 }
    		 */
    		this.drawTest(event); 
    	}
    	private drawTest(evt: egret.Event) {
    		var shp: egret.Shape = new egret.Shape();
    
    		shp.graphics.beginFill(0x0000ff, 0.8);
    		shp.graphics.drawRect(0, 0, 50, 50);
    		shp.graphics.endFill();
    
    		shp.graphics.beginFill(0x0000ff, 0.8);
    		shp.graphics.drawRect(50, 50, 50, 50);
    		shp.graphics.endFill();
    
    		shp.graphics.beginFill(0xff0000, 0.8);
    		shp.graphics.drawRect(50, 0, 50, 50);
    		shp.graphics.endFill();
    
    		shp.graphics.beginFill(0xff0000, 0.8);
    		shp.graphics.drawRect(0, 50, 50, 50);
    		shp.graphics.endFill();
    		//添加显示对象到显示列表:改对象存在,被添加到显示裂变,在画面中显示
    		//addChild就是将对象添加到显示列表中,显示列表是一个树状结构,这里shp的上一级就是this,就是该类,文档类是STAGE的第一个子对象
    		this.addChild(shp);
    		//删除显示对象:使用removeChild即可删除一个显示对象;画面不显示,该对象存在,驻于内存中
    		//利用该代码的时候,建议先判断是否拥有父级(被删除的对象在不在显示列表) if(shp.parent){ 删除操作;}
    		//this.removeChild(shp);//this是shp的父级,shp是被删除的显示对象
    
    		//遮罩使用:所谓遮罩是指定一个显示对象的可见区域,在Egret执行渲染的时候,会根据据设置的区域进行裁切,最终得到原始画面的一部分
    		var rect:egret.Rectangle = new egret.Rectangle( 50,50,300,200);
    		shp.mask = rect;
    		//取消遮罩:将mask属性设置为null
    		shp.mask = null;
    	}
    
    }
    

      

  • 相关阅读:
    另一个博客
    友情链接&部分题目的密码
    知识点汇总
    一些模板的调试样例
    摘抄
    通过代理连接Microsoft Store和更新Windows系统
    模电复习
    Codeforces Round #583 F Employment
    杂感(三)
    杂感(二)
  • 原文地址:https://www.cnblogs.com/allyh/p/10680437.html
Copyright © 2020-2023  润新知