Как мне добавить мою страницу перехода в основной класс, когда мой счетчик времени показывает 0 (Flash Builder)?

#flash-builder

#flash-builder

Вопрос:

     public function SeedsAndPots()

    {
        startpage = new StartPage();
        addChild(startpage);

        buttonPage = new ButtonPage();
        addChild(buttonPage);
        buttonPage.addEventListener(MouseEvent.CLICK, GoToGame);    

    }
    public function GoToGame(e:MouseEvent):void
    {
        removeChild(startpage);
        buttonPage.removeEventListener(MouseEvent.CLICK, GoToGame);
        removeChild(buttonPage);
        gamePage = new GamePage();
        addChild(gamePage);

    }
 

// Я хочу выполнить функцию, которая говорит, что если время равно 0, я должен перейти на свою страницу перехода.
}
}

Ответ №1:

Создайте переменную обратного отсчета, чтобы отражать время в секундах.

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

Когда время достигнет 0, примените логику, чтобы завершить текущий уровень и отобразить страницу завершения игры.

     // store time remaining in a countdown timer
    protected var countdown:uint = 60;

    // create a timer, counting down every second
    protected var timer:Timer;

    // in your go to game, or when you want to start the timer      
    public function GoToGame(e:MouseEvent):void
    {
        // ... your go to game function

        // start your countdown timer.
        timer = new Timer(1000);
        timer.addEventListener(TimerEvent.TIMER, timerHandler);
        timer.start();
    }

    protected function timerHandler(event:TimerEvent):void
    {
        // countdown a second
        --countdown;

        // update any counter time text field display here...

        // if you've reached 0 seconds left
        if(countdown == 0)
        {
            // stop the timer
            timer.removeEventListener(TimerEvent.TIMER, timerHandler);
            timer.reset();

            // remove current gamePage
            // addChild to your game over page.
        }
    }