尝试在鼠标悬停时删除 child

Trying to remove child on mouseover

我不是编程新手,但我决定在今年夏天学习 Flash 来找乐子。我有一个程序将 Circles 打印为 children,我想要它,所以当用户将鼠标悬停在某个圆圈上时,它将删除 child。伪代码以防你不明白我在说什么:

if ( mouse.x = onCircle && mouse.y = onCircle){
  removeChild(thatCircle);
}

问题是我不知道如何找到特定的 child 是什么以及如何删除它。

到目前为止,这是我的代码:

//Import
import flash.utils.*;

//Vars
var circle:Shape = new Shape(); // The instance name circle is created
var alive;
alive = "true";
var challange;
challange = 1;
var ogtimer = setInterval(showCircle,1000*challange);
var circlesOnScreen: int;
circlesOnScreen = 0;
var cycles : int;
cycles = 0;
var base : int;
base = 0;

function showCircle(){

    if (circlesOnScreen < 14){
        //Variables
        var ranX:Number = Math.ceil(Math.random()*475);
        var ranY:Number = Math.ceil(Math.random()*790); 

        var circleSpriteVar:circleSprite = new circleSprite();
        addChild(circleSpriteVar);
        circleSpriteVar.x = ranX;
        circleSpriteVar.y = ranY;


        circlesOnScreen = circlesOnScreen + 1;
        cycles = cycles + 1;


        /*if (mouseisover circle){

            circle.removeChildAt(0)
        }*/


        if (cycles > 3){
            base = cycles * 1.15
            challange = base / 10
        }
    }else{
        gotoAndStop(3)
        }
}

编辑:请更正您的标题或描述。标题说鼠标点击,描述说悬停。这些是不同的东西。

您需要为每个圆添加一个 MOUSE_OVER 鼠标侦听器,每次将鼠标悬停在圆上时它都会触发。然后删除鼠标所在的圆圈。这是示例代码(假设 Circle 是 Sprite):

circle.addEventListener(MouseEvent.MOUSE_OVER, onMouseOver,false,0,true);
protected function onMouseOver(event:MouseEvent):void
{
    var circle:Sprite = event.currentTarget as Sprite;
    circle.removeEventListener(MouseEvent.MOUSE_OVER, onMouseOver); 
    removeChild(circle);
}

希望这能回答您的问题。如果是,请接受答案,或者如果您需要更多信息,请告诉我。谢谢。