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);
} /**
* 添加到显示列表, 容器.addChild(显示对象)
* 移除出显示列表, 容器.removeChild(显示对象)
* 需要注意的几个点如下:
* 1, 显示对象在运行时会被高频率的添加到显示列表或从中删除,但显示对象独立于显示列表
* 2, 显示对象的坐标系是相对坐标系,而非绝对坐标系, 相对于父容器
* 3, 同一个显示对象无论被代码加入显示列表多少次,在屏幕上只绘制一次
* 4, 显示对象必须有父级容器, 才能被删除, 如果删除的显示对象不再容器中, 会抛异常
* 5, Uncaught Error: [Fatal]child未被addChild到该parent:
* 6, 在删除显示对象时, 建议判断其是否存在父级 => 显示对象.parent
*/
private onAddToStage(event: egret.Event) { // 绘制一个可以显示和取消的正方形
var circle: egret.Shape = new egret.Shape();
circle.graphics.beginFill(0xff0000);
circle.graphics.drawRect(50,50,100,100);
circle.graphics.endFill();
this.addChild(circle); // 绘制一个可以点击的按钮
var button: egret.Shape = new egret.Shape();
button.graphics.beginFill(0xff0000);
button.graphics.drawRect(500,800,100,100);
button.graphics.endFill();
this.addChild(button); // 点击屏幕时, 显示和消失
var isShow: boolean = true, myThis: Main = this;
button.touchEnabled = true;
button.addEventListener(egret.TouchEvent.TOUCH_TAP, onAddRemove, this);
function onAddRemove(ev: egret.TouchEvent) {
if (isShow) {
myThis.removeChild(circle);
} else {
myThis.addChild(circle);
}
isShow = !isShow;
}
}
}

白鹭引擎 - 对象的添加与删除 ( 开关效果 addChild, removeChild )的更多相关文章

  1. element vue Array数组和Map对象的添加与删除

    使用场景: 一个后台系统中, 管理员要配置自定义字段后台要生成id和title,其他角色要使用自定义字段的表单, 添加数据, 但是每个要填写的对象的id 和title都是无法固定的,因此页面显示的ti ...

  2. 白鹭引擎 - 显示对象与 HelloWord ( 绘制了一个红蓝相间的 2 x 2 格子 )

    1: 白鹭引擎默认实在一个 640 * 1136 的画布上作画 2: 入口文件 Main.ts,  类 Main 是程序的入口 // 1, 在一个宽高为 640 * 1136 的画布上作画 // 2, ...

  3. ***Redis hash是一个string类型的field和value的映射表.它的添加、删除操作都是O(1)(平均)。hash特别适合用于存储对象

    http://redis.readthedocs.org/en/latest/hash/hset.html HSET HSET key field value   (存一个对象的时候key存) 将哈希 ...

  4. Vue && Angular 双向绑定检测不到对象属性的添加和删除

    由于ES5的限制 Vue  && Angular 双向绑定检测不到对象属性的添加和删除  还有数组增加索引.这些改变不会触发change事件.Vue是因为实例化的时候已经把各个属性都s ...

  5. json对象数组的创建、遍历、添加、删除、修改、js的splice()用法

    本文链接:https://blog.csdn.net/houfengfei668/article/details/79843625 )第二种方式:手动构造json对象数组 )for )用splice方 ...

  6. JavaScript Array对象的splice方法 数组的添加和删除

    Splice方法  :拼接 splice() 方法用于添加或删除数组中的元素. var index = Array.indexOf(value);    //可以匹配value在Array中的索引,匹 ...

  7. Egret Engine(白鹭引擎)介绍及windows下安装

    Egret Engine简要介绍----- Egret Engine(白鹭引擎)[Egret Engine官网:http://www.egret-labs.org/]是一款使用TypeScript语言 ...

  8. python全栈开发day61-django简单的出版社网站展示,添加,删除,编辑(单表的增删改查)

    day61 django内容回顾: 1. 下载: pip install django==1.11.14 pip install -i 源 django==1.11.14 pycharm 2. 创建项 ...

  9. Net Core SignalR 测试,可以用于unity、Layair、白鹭引擎、大数据分析平台等高可用消息实时通信器。

    SignalR介绍 SignalR介绍来源于微软文档,不过多解释.https://docs.microsoft.com/zh-cn/aspnet/core/signalr/introduction?v ...

随机推荐

  1. VS项目平台的x86,x64,Any CPU以及Debug和Release

    引用链接:https://blog.csdn.net/zuguangboy/article/details/51509670

  2. 【HTTP】使用 RestTemplete 实现 post请求

    如上图,要求: post请求; x-www-form-urlencoded 类型; 如下代码没有进行整理,但是测试OK package com.chinamobile.epic.http; impor ...

  3. 峰Redis学习(9)Redis 集群(概述)

    第一节:Redis 集群概述 redis cluster是去中心化,去中间件的,也就是说,集群中的每个节点都是平等的关系,都是对等的,每个节点都保存各自的数据和整个集群的状态.每个节点都和其他所有节点 ...

  4. Scala集合类型详解

    Scala集合 Scala提供了一套很好的集合实现,提供了一些集合类型的抽象. Scala 集合分为可变的和不可变的集合. 可变集合可以在适当的地方被更新或扩展.这意味着你可以修改,添加,移除一个集合 ...

  5. [转][CentOS]修改IP后立即生效

    来自:http://bbs.51cto.com/thread-789908-1.html Linux系统里修改IP地址后该如何使之即刻生效,有两种方法可以解决: (1) sudo ifdown eth ...

  6. js读取iframe里的元素

    父层 <div id="SubStepNav" class="SubStepNav"> <iframe src="aaa.html& ...

  7. fiddler 手机 https 抓包 以及一些fiddler无法解决的https问题http2、tcp、udp、websocket证书写死在app中无法抓包

    原文: https://blog.csdn.net/wangjun5159/article/details/52202059 fiddler手机抓包原理 fiddler手机抓包的原理与抓pc上的web ...

  8. tf.nn.dynamic_rnn

    tf.nn.dynamic_rnn(cell,inputs,sequence_length=None, initial_state=None,dtype=None, parallel_iteratio ...

  9. windows gitbook pdf

    1.安装 nodejs 下载地址:https://nodejs.org/download/release/v6.9.2/node-v6.9.2-x64.msi 执行安装 配置环境变量:C:\Progr ...

  10. courator - create

    0. retry policy RetryPolicy retryPolicy = new ExponentialBackoffRetry(3000,3); 1. client 1) recipes ...