【发布时间】:2014-02-27 03:53:23
【问题描述】:
我目前正在开发一个游戏,其中有不同的MovieClip 对象通过计时器事件数组添加到舞台。
这些影片剪辑由MouseEvent.MOUSE_DOWN 处理,因此当用户触摸屏幕上显示的正确对象时,nScore 会增加 1 分,但我想做的是在随机数量的用户获得的时间或随机点数我希望其中一个对象不再处于活动状态,因此如果您触摸不活动的对象,那么用户就会失败。然后在随机时间或分数之后,对象再次发生变化,您只需触摸该对象而不是屏幕上显示的前一个对象等...
所以我像这样创建了两个鼠标事件监听器:
mSquare.addEventListener(MouseEvent.MOUSE_DOWN, SquareNotActivated);
mSquare.addEventListener(MouseEvent.MOUSE_DOWN, SquareIsActivated);
所以在我的 SquareIsActivated 函数中,我有另一个名为 SquareActivate 的函数,其代码如下:
private function SquareActivate(square:DisplayObject):void
{
nScore ++;
updateHighScore();
updateCurrentScore();
}
在我的 SquareNotActivated 函数中,我有一个名为squareNotActive 的函数,它具有以下代码:
private function squareNotActive(square:DisplayObject):void
{
nLives --;
}
然后对于另一个名为mPop的影片剪辑对象@我有相同的设置。
我将尝试为nScore 制作多个if 语句来处理事件侦听器的更改以及我将尝试这样做的显示对象:
private function checkNScore():void
{
if (nScore >= 2)
{
// then remove a mouse listener for one object and add another
stage.addChild(pop_Icon);
pop_Icon.x = (stage.stageWidth / 2) + 180;
pop_Icon.y = (stage.stageHeight / 2) - 300;
}
if (nScore >= 4)
{
//Remove Square icon
pop_Icon.destroyPopIcon();
//Add new Square icon
stage.addChild(square_Icon);
square_Icon.x = (stage.stageWidth / 2) + 180;
square_Icon.y = (stage.stageHeight / 2) - 300;
}
}
但我知道必须有一种方法可以随机调用它们,也许是一个计时器对象,它生成一个随机的MovieClip,用户必须触摸它,然后放置所有其他电影剪辑来删除生命,而不是多个if 语句.谁能把我推向正确的方向?
【问题讨论】:
标签: android actionscript-3 flash random mouseevent