没有时间轴的视图(页面)

时间:2010-11-28 12:47:52

标签: flash actionscript-3

我有一个相对简单的问题。在不使用时间轴的情况下重建多页面应用程序的最佳方法是什么。我创建了一个pagemanager类,用于添加和删除类,类充当页面。现在这似乎不是一个非常有效的方法。 我相信flex提供了一种类似HTML的方法,但是现在已经很晚才能进入flex。

有什么建议吗? 提前谢谢。

1 个答案:

答案 0 :(得分:1)

我建议您创建一个类似于Flex中的视图堆栈的类。将它与接口(例如IPage)一起使用以强制viewstack用于加载和卸载/处置页面的方法。在viewstack上运行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);
        }

    }
}