Вам придётся создать собственную коллекцию классов, представляющих сцены. Это также включает в себя некоторый тип фундамента для запуска ваших сцен, управление загрузкой и выгрузкой этих сцен и их содержимого.
В простом случае это начнется, как-то вдоль линий:
class SceneManager extends Sprite
{
private var _currentScene:Scene;
public function loadScene(scene:Scene):void
{
unloadCurrentScene();
_currentScene = scene;
_currentScene.load(this);
addChild(_currentScene.view);
}
public function unloadCurrentScene():void
{
if(hasScene)
{
_currentScene.unload(this);
_currentScene.view.parent === this && removeChild(_currentScene.view);
}
_currentScene = null;
}
public function get currentScene():Scene{ return _currentScene; }
public function get hasScene():Boolean{ return _currentScene !== null; }
}
С Scene
класса:
class Scene
{
private var _view:Sprite;
public function Scene()
{
_view = new Sprite();
}
public function load(sceneManager:SceneManager):void
{
// Abstract.
// Load children, initialize components, etc.
}
public function unload(sceneManager:SceneManager):void
{
// Abstract.
// Remove children, event listeners, references, etc.
}
public function get view():Sprite{ return _view; }
}
Используется как (предполагая, что у вас есть класс MainMenuScene
простирающуюся Scene
) :
var sceneManager:SceneManager = new SceneManager();
addChild(sceneManager);
sceneManager.loadScene(new MainMenuScene());
Лучше избегать сцен, если лет u может http://www.senocular.com/flash/tutorials/faq/#gotoscene – user3373217