удаление спрайта по клику на нем
всем доброго времени суток.
есть такая задача: по клику на стейдже добавляется на стейдж спрайт с кружочком, по клику на спрайте, спрайт должен удалиться(или просто visible=false).
добывляю спрайты я так:
Код AS3:
package
{
import flash.display.Sprite;
import flash.events.Event;
import flash.events.KeyboardEvent;
import flash.events.MouseEvent;
/**
* ...
* @author me
*/
public class Main extends Sprite
{
public var sprites:Array=new Array();
public var i:int = 0;
public var X:Number;
public var Y:Number;
public function stageClick(e: MouseEvent):void
{
trace(e);
X = mouseX;
Y = mouseY;
sprites[i] = new Sprite();
sprites[i].graphics.beginFill(123, 1);
sprites[i].graphics.drawCircle(mouseX, mouseY, 10);
sprites[i].graphics.endFill();
sprites[i].name = "i";
stage.addChild(sprites[i]);
i++;
trace(i);
trace(sprites);
}
public function keyDown(k:KeyboardEvent):void
{
}
public function Main():void
{
if (stage) init();
else addEventListener(Event.ADDED_TO_STAGE, init);
stage.addEventListener(MouseEvent.CLICK, stageClick);
stage.addEventListener(KeyboardEvent.KEY_DOWN, keyDown);
}
private function init(e:Event = null):void
{
removeEventListener(Event.ADDED_TO_STAGE, init);
// entry point
}
}
}
и вот собственно столкнулся с проблемой - как удалять? пробовал для каждого спрайта addEventListener(MouseEvent.CLICK, spriteClick), но так и не додумался, как его можно удалить, да к тому же появилась еще одна проблема - даже если клик был по спрайту, все равно срабатывает stageClick. Может кто посоветовать, как удалять спрайты по клику?
|