-
Notifications
You must be signed in to change notification settings - Fork 5
/
Copy pathtest5.ts
74 lines (66 loc) · 2.23 KB
/
test5.ts
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
module Test {
export class test5 {
public constructor() {
}
/**
* addChild 的高效实现,慎用
* @param container
* @param child
*/
public addChild(container: egret.DisplayObjectContainer, child: egret.DisplayObject): void {
if (child._parent != container) {
if (child._parent)
this.removeFromParent(child);
container._children.push(child);
child._parent = container;
}
}
/**
* addChildAt 的高效实现,慎用
* @param container
* @param child
* @param index
*/
public addChildAt(container: egret.DisplayObjectContainer, child: egret.DisplayObject, index: number): void {
if (child._parent != container) {
if (child._parent)
this.removeFromParent(child);
container._children.splice(index, 0, child);
child._parent = container;
}
}
/**
* removeFromParent 的高效实现,慎用
* @param child
*/
public removeFromParent(child: egret.DisplayObject): void {
if (child && child._parent) {
var index = child._parent._children.indexOf(child);
child._parent._children.splice(index, 1);
child._parent = null;
}
}
/**
* removeChildAt 的高效实现,慎用
* @param container
* @param index
*/
public removeChildAt(container: egret.DisplayObjectContainer, index: number): void {
var child: egret.DisplayObject = container._children[index];
if (child) {
container._children.splice(index, 1);
child._parent = null;
child.visible = false;
}
}
/**
* removeAllChild 的高效实现,慎用
* @param container
*/
public removeAllChild(container: egret.DisplayObjectContainer): void {
while (container._children.length) {
this.removeChildAt(container, 0);
}
}
}
}