Egret的容器--删除对象,遮罩
生活随笔
收集整理的這篇文章主要介紹了
Egret的容器--删除对象,遮罩
小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
class P91F extends egret.Sprite {public constructor() {super();this.addEventListener(egret.Event.ADDED_TO_STAGE, this.onAddToStage, this);}private onAddToStage(event: egret.Event) {//輕量級(jí)容器 DisplayObjectContainer;若在游戲中需要利用容器相關(guān)的功能,可以直接創(chuàng)建DisplayObjectContainer類的實(shí)例對(duì)象//自定義容器,編寫一個(gè)類繼承DisplayObjectContainer即可;若要實(shí)現(xiàn)graphics相關(guān)的,可繼承Sprite//自定義一個(gè)容器類,ShapeTest 繼承自egret.Sprite;在文檔類Main中實(shí)例化 P91F //實(shí)例化代碼 /** 創(chuàng)建場(chǎng)景界面 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();//添加顯示對(duì)象到顯示列表:改對(duì)象存在,被添加到顯示裂變,在畫面中顯示//addChild就是將對(duì)象添加到顯示列表中,顯示列表是一個(gè)樹狀結(jié)構(gòu),這里shp的上一級(jí)就是this,就是該類,文檔類是STAGE的第一個(gè)子對(duì)象this.addChild(shp);//刪除顯示對(duì)象:使用removeChild即可刪除一個(gè)顯示對(duì)象;畫面不顯示,該對(duì)象存在,駐于內(nèi)存中//利用該代碼的時(shí)候,建議先判斷是否擁有父級(jí)(被刪除的對(duì)象在不在顯示列表) if(shp.parent){ 刪除操作;}//this.removeChild(shp);//this是shp的父級(jí),shp是被刪除的顯示對(duì)象//遮罩使用:所謂遮罩是指定一個(gè)顯示對(duì)象的可見(jiàn)區(qū)域,在Egret執(zhí)行渲染的時(shí)候,會(huì)根據(jù)據(jù)設(shè)置的區(qū)域進(jìn)行裁切,最終得到原始畫面的一部分var rect:egret.Rectangle = new egret.Rectangle( 50,50,300,200);shp.mask = rect;//取消遮罩:將mask屬性設(shè)置為nullshp.mask = null;}}
轉(zhuǎn)載于:https://www.cnblogs.com/allyh/p/10680437.html
總結(jié)
以上是生活随笔為你收集整理的Egret的容器--删除对象,遮罩的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: [19/04/11-星期四] 多线程_并
- 下一篇: 简单DP (Preparing for