Просмотры (страницы) без временной шкалы - PullRequest
0 голосов
/ 28 ноября 2010

У меня относительно простой вопрос. Что было бы лучшим способом воссоздать многостраничное приложение без использования временной шкалы. Я создал класс PageManager, который добавляет и удаляет классы, а классы выступают в качестве страниц. Теперь это не похоже на очень эффективный метод. Я полагаю, что flex предлагает аналогичный подход, как HTML, но уже слишком поздно переходить к гибкости на этом этапе.

Есть предложения? Заранее спасибо.

1 Ответ

1 голос
/ 28 ноября 2010

Я рекомендую вам создать собственный класс, который работает аналогично стеку представлений во Flex. Используйте его с интерфейсом (например, IPage), чтобы принудительно использовать методы, которые вы используете для просмотра стека для загрузки и выгрузки / удаления страниц. Запустив метод changePage для стека просмотра, вы удаляете текущую страницу и открываете новую страницу. Когда у вас это работает, легко добавлять переходы.

Как-то так (Этот код НЕ проверен):


_view = new ViewStack();
_view.addPage(Pages.INTRO, new IntroPage());
_view.addPage(Pages.OUTRO, new OutroPage());
_view.changePage(Pages.INTRO);

IPage.as

package
{
    public interface IPage
    {
        function open() : void

        function close() : void
    }
}

ViewStack.as

package
{
    import flash.display.Sprite;

    public class ViewStack extends Sprite
    {
        public function ViewStack()
        {
            super();
        }

        public function addPage(pageID : String, page : IPage) : void
        {
            // add page to list
        }

        public function removePage(pageID : String) : void
        {
            // remove page from list
        }

        public function changePage(pageID : String) : void
        {
            if(_currentPage)
            {
                _currentPage.close();
                removeChild(_currentPage);
            }

            _currentPage = getPageById(pageID);
            _currentPage.open();
            addChild(_currentPage);
        }

    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...