よく使う Sprite の小ネタ
スプライトの子オブジェクトをすべて取り除く
public function removeChildren():void { while(this.numChildren > 0) { this.removeChildAt(0); } }
while はあまり使わない方ですが、こういう場合簡単に書けてナイス。
上に子が乗ったスプライトで親エリアからのマウスアウトだけを拾う
this.addEventListener(MouseEvent.MOUSE_OUT, spMouseOutHandler); private function spMouseOutHandler(e:MouseEvent):void { if(this.hitTestPoint(e.stageX, e.stageY) == false) { trace("出かるちゃー"); } }
e.taeget == e.currentTarget という方法もありますが、やや信頼性が低いので上がオススメ。
特定クラスの子だけを操作する
for (var i:int = 0; i < parent.numChildren; i ++) { var child:* = parent.getChildAt(i) if(child is SomeClass) { child.addEventListener(MouseEvent.CLICK, someHandler); } }
is は案外使えて便利。