我已经在随机的x和y上添加了许多movieclip实例(一个苹果的简单图像)到舞台上。现在我试图点击每一个来删除它们。
这是我的代码:
public function Apples() {
for(var count:int=1; count<=10; count++){
var apple = new Apple();
apple.x = Math.random() * stage.stageWidth;
apple.y = Math.random() * stage.stageHeight;
apple.name = count;
stage.addChild(apple);
}
stage.addEventListener(MouseEvent.CLICK, onClick);
function onClick(e:MouseEvent):void{
var displayObject:DisplayObject = (DisplayObject) (e.target);
displayObject.parent.removeChild(displayObject);
}
}
我的问题是,我希望能够找出所有苹果被移除的时间。
我尝试过在每个onClick
调用上添加一个简单的计数器,这样一旦它达到相同数量的苹果显示,我会显示游戏结束消息,但问题是如果你点击空的阶段而不是苹果,然后计数仍在增加。
有没有办法阻止用户点击舞台,或者是否有方法来确定是否已针对if条件点击了舞台?
或许还有其他方法可以实现我的需求?
感谢您的建议。
答案 0 :(得分:2)
由于您要向舞台添加Apple
个实例,您可以检查是否在onClick处理程序中单击了Apple
function onClick(e:MouseEvent):void{
var apple:Apple = e.target as Apple;
if(apple) {
apple.parent.removeChild(apple);
}
}
如果您没有点击苹果,则苹果实例将为空。
我可能会将苹果保留在数组中,并在从舞台/父级中删除它们后将其从数组中删除。然后,您需要做的就是检查舞台上是否还有苹果,以检查该阵列的长度。