Итак, это код, о котором идет речь:
function moveObsticle():void
{
//move
var tempObs:MovieClip;
for(var i:int = obsticles.length-1; i>=0; i--)
{
tempObs = obsticles[i];
tempObs.y = tempObs.y - playerSpeed;
}
//test if obsticle is off-stage and set it to remove
if (tempObs != null && tempObs.y < stage.stageHeight)
{
removeObsticle(i);
}
//player-obsticle colision
if (tempObs != null && tempObs.hitTestObject(player))
{
gameState = STATE_END;
}
}
Это одна из функций moveX в моем коде, у всех одна и та же проблема. Таким образом, эта функция отлично работает в начале программы (игры), однако после игры в течение мегабайт 30 секунд или минуты hitTestObject () просто перестает работать, и моя игра просто теряет все элементы игрового процесса.
Таким образом, рассматриваемый код является оператором if в конце функции, но я подозреваю, что цикл mby a for также может быть проблемой, однако оператор if над оператором hitTest (проверьте, находится ли obs вне стадии ...) работать нормально.
Эта ошибка сводит меня с ума, я разработал целую игру с этой ошибкой, и теперь пришло время избавиться от нее, я не могу найти никого с такой же проблемой, и у меня никогда не было этой проблемы раньше.
код запускается в AIR для Android, и все это разработано в Adobe Flash Pro cs6