我不是编程新手,但我决定今年夏天学习Flash。我有一个程序,正在打印圈子作为孩子,我想要它,所以当用户盘旋在某个圆圈时,它将删除该孩子。如果你没有得到我所说的话,那就是伪代码:
if ( mouse.x = onCircle && mouse.y = onCircle){
removeChild(thatCircle);
}
问题是我不知道如何找到特定孩子的内容以及如何删除它。
到目前为止,这是我的代码:
//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)
}
}
答案 0 :(得分:0)
编辑:请更正您的标题或说明。标题说鼠标点击和描述说悬停。这些是不同的东西。
您需要为每个圈子添加一个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);
}
希望这能回答你的问题。如果有,请接受答案,或者如果您需要更多信息,请告知我们。谢谢。