0
У меня проблема: Я хочу сохранить счет, когда я «hittest». Я использую следующий код:AS3 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' есть, но вы цикл несколько раз в том, что для цикла (потенциально), так что моя догадка, поэтому ваш счет увеличивается на 4-8 каждый раз при его запуске. – snollygolly
vPipeMax is 3. Я знаю его в цикле, но как я могу сохранить его из нескольких hittests? – user1631575