Actionscript 3 addChild игнорируется каждую вторую попытку

Я работаю над игрой в Actionscriptи следующий код содержится в функции, которая проверяет, была ли нажата клавиша на клавиатуре. Вы можете игнорировать все другие переменные, так как единственное, что важно, этоOrbRing, мувиклип, загружаемый из библиотеки.

Когда TAB нажата клавиша, длина полосы на экране уменьшается на заданную величину, и на экране появляется кольцо. При первой попытке все работает как обычно: появляется кольцо и длина стержня уменьшается.

Однако, во второй раз, когда это делается, длина стержня уменьшается, но OrbRing не появляется.

Как ни странно, с третьей попытки все снова работает нормально, как и в первый раз.

Но затем в четвертый раз проблемы такие же, как и со второй попытки.

Таким образом, при каждой четной попытке код addChild игнорируется, но функция все еще работает, поскольку длина полосы уменьшается каждый раз. И каждую нечетную попытку функция выполняет нормально.

Я понятия не имею, почему это происходит, и я не получаю сообщений об ошибках. Любая помощь или идеи, которые могут это исправить, будут с благодарностью.

if(levelseven==true) {
    if (mykey.keyCode==Keyboard.TAB) {
        if(gear1==true && CPUBAR1_mc.CPUBARYLW_mc.width>=215) {

            CPUBAR1_mc.CPUBARYLW_mc.width-=215;
            addChild(OrbRing);
            OrbRing.x=Orb_mc.x;
            OrbRing.y=Orb_mc.y;
            OrbRing.gotoAndPlay(1);     
        }
    }
}

1 ответ

Я нашел решение. По какой-то причине (я до сих пор не знаю, почему), мувиклип зависал на первом кадре при каждой четной попытке. Просто добавив gotoAndPlay(2); Инструкция убедилась, что ролик воспроизводится каждый раз. Большое спасибо за вашу помощь.

Другие вопросы по тегам