【发布时间】:2014-02-20 14:16:04
【问题描述】:
我有以下问题: 我想在“hittest”时保持分数。我使用以下代码:
private function fnMoveMap():void
{
for (var i:int = 0; i < vPipeMax; i++)
{
var tmpPipe = _conMap.getChildAt(i);
//trace (tmpPipe.name);
if (tmpPipe._HIT.hitTestPoint(_P.x, _P.y, true))
{
tmpPipe.visible = false;
//stage.removeEventListener(Event.ENTER_FRAME, setScore);
vScores++;
txtScores.text = vScores.toString();
//break;
}
//reset pos
if (tmpPipe.x < 0)
{
//stage.addEventListener(Event.ENTER_FRAME, setScore);
tmpPipe.visible = true;
tmpPipe.x = 1050 - vXSpeed;
tmpPipe.y = randomRangeMC(minPipeY, maxPipeY);
//set score
//vScores++;
//txtScores.text = vScores.toString();
}
else
{
tmpPipe.x -= vXSpeed;
}
}
}
var vScores 保持计数 4 到 8 次。 我怎么能数一数呢?
【问题讨论】:
-
好吧,我不知道
vPipeMax是什么,但你在那个for循环中循环了多次(可能),所以我猜这就是你的分数每次增加4-8的原因你触发它。 -
vPipeMax 是 3。我知道它在一个循环中,但我怎样才能让它免受多个命中测试?