白鹭引擎 - 对象的添加与删除 ( 开关效果 addChild, removeChild )
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 )的更多相关文章
- element vue Array数组和Map对象的添加与删除
使用场景: 一个后台系统中, 管理员要配置自定义字段后台要生成id和title,其他角色要使用自定义字段的表单, 添加数据, 但是每个要填写的对象的id 和title都是无法固定的,因此页面显示的ti ...
- 白鹭引擎 - 显示对象与 HelloWord ( 绘制了一个红蓝相间的 2 x 2 格子 )
1: 白鹭引擎默认实在一个 640 * 1136 的画布上作画 2: 入口文件 Main.ts, 类 Main 是程序的入口 // 1, 在一个宽高为 640 * 1136 的画布上作画 // 2, ...
- ***Redis hash是一个string类型的field和value的映射表.它的添加、删除操作都是O(1)(平均)。hash特别适合用于存储对象
http://redis.readthedocs.org/en/latest/hash/hset.html HSET HSET key field value (存一个对象的时候key存) 将哈希 ...
- Vue && Angular 双向绑定检测不到对象属性的添加和删除
由于ES5的限制 Vue && Angular 双向绑定检测不到对象属性的添加和删除 还有数组增加索引.这些改变不会触发change事件.Vue是因为实例化的时候已经把各个属性都s ...
- json对象数组的创建、遍历、添加、删除、修改、js的splice()用法
本文链接:https://blog.csdn.net/houfengfei668/article/details/79843625 )第二种方式:手动构造json对象数组 )for )用splice方 ...
- JavaScript Array对象的splice方法 数组的添加和删除
Splice方法 :拼接 splice() 方法用于添加或删除数组中的元素. var index = Array.indexOf(value); //可以匹配value在Array中的索引,匹 ...
- Egret Engine(白鹭引擎)介绍及windows下安装
Egret Engine简要介绍----- Egret Engine(白鹭引擎)[Egret Engine官网:http://www.egret-labs.org/]是一款使用TypeScript语言 ...
- python全栈开发day61-django简单的出版社网站展示,添加,删除,编辑(单表的增删改查)
day61 django内容回顾: 1. 下载: pip install django==1.11.14 pip install -i 源 django==1.11.14 pycharm 2. 创建项 ...
- Net Core SignalR 测试,可以用于unity、Layair、白鹭引擎、大数据分析平台等高可用消息实时通信器。
SignalR介绍 SignalR介绍来源于微软文档,不过多解释.https://docs.microsoft.com/zh-cn/aspnet/core/signalr/introduction?v ...
随机推荐
- C++进阶--构造函数和析构函数中的虚函数
//############################################################################ /* 任何时候都不要在构造函数或析构函数中 ...
- 一个简单的springmvc例子 入门(1)
一直是从事棋牌游戏,平常用的东西 大多数只是使用一些javase的一些 api对spring 这方面 用到的比较少,每次学了都忘,始终记不住.为了 更轻松学习springboot,从新学习了sprin ...
- 关于display:inline-block的文章
在淘宝UED博客里看到一篇关于display:inline-block的文章,有点啰嗦,反正我没看完,但是里面有些观点还是写得挺好的,直接贴地址mark一下. 文章地址:http://ued.ta ...
- script中type属性讲解
js的代码是由type决定的: <script type='javascript'> 默认的 <script type="text/html" > 就是 ...
- 淘宝购买的“公网IP盒子”企业版存在很多问题
现在罗列了几点问题希望官方尽快能得到解决 1:不支持PPPoE拨号(必须让路由器先拨号后再用这个设备上网)2:不支持双线双IP接入3:配置界面不能设置密码(知道内网IP就可以进了)4:不能代理独立IP ...
- spark2.3.0 配置spark sql 操作hive
spark可以通过读取hive的元数据来兼容hive,读取hive的表数据,然后在spark引擎中进行sql统计分析,从而,通过spark sql与hive结合实现数据分析将成为一种最佳实践.配置步骤 ...
- Centos配置iptables开放ftp服务
安装完vsftpd后,默认情况下,CentOS的防火墙是不开放ftp服务的,需要添加模块和开放21端口才能提供ftp访问.1.添加ip_conntrack_ftp 模块[root@hexuweb101 ...
- html跳页面传值
从a.html跳转到b.html并且把a.html的值name传入b.html 在a.html页面,url路径后面带参数,参数与url之间用?隔开 window.location.href = &q ...
- solr7.4 安装与使用
1.solr7环境要求 solr7需要java8环境,且需要在环境变量中添加 JAVA_HOME变量. 2.solr 安装 下载地址 https://lucene.apache.org/solr/mi ...
- python-requests数据驱动延伸
在 python-requests模块的讲解和应用 基础上进行数据驱动的延伸 task_01_requests.py #-*- coding:utf-8 -*- #task_01_requests.p ...