📄 sampleadd.as
字号:
package org.kingda.book.display
{
import flash.display.Sprite;
import flash.events.MouseEvent;
public class SampleAdd extends Sprite
{
private var conA:Sprite;
private var conB:Sprite;
private var buttonA:RectSprite;
private var buttonB:RectSprite;
private var buttonX:RectSprite;
private var star:StarShape;
public function SampleAdd() {
star = new StarShape();
star.y = 100; //相对于父容器的坐标
conA = new Sprite();
conB = new Sprite();
conB.x = 200;
addChild(conA);
addChild(conB);
buttonA = new RectSprite("A", 0xff9900);
buttonB = new RectSprite("B", 0x669900);
buttonX = new RectSprite("X", 0x669900);
//对按钮位置布局
buttonA.y = 100;
buttonB.x = 150;
buttonB.y = 100;
buttonX.y = 160;
buttonX.x = 50;
addChild(buttonA);
addChild(buttonB);
addChild(buttonX);
//添加鼠标单击事件的侦听
buttonA.addEventListener(MouseEvent.CLICK, addStarInContainer);
buttonB.addEventListener(MouseEvent.CLICK, addStarInContainer);
buttonX.addEventListener(MouseEvent.CLICK, removeStar);
trace(this.contains(star));
//输出:false。现在star还没有加入显示列表。点击按钮后才会加入。
}
//根据事件的发出者,确定那个容器添加星星
private function addStarInContainer(evt:MouseEvent):void {
if(evt.currentTarget == buttonA) {
conA.addChild(star);
trace ("容器A加入了星星");
}else {
conB.addChild(star);
trace ("容器B加入了星星");
}
}
//移除星星
private function removeStar(evt:MouseEvent):void {
//使用contains判断
if (conA.contains(star)) {
conA.removeChild(star);
trace ("容器A移除了星星");
} else if (conB.contains(star)) {
conB.removeChild(star);
trace ("容器B移除了星星");
} else {
trace ("星星已经不存在,不需要再移除");
}
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -