장면을 나타내는 클래스 모음을 직접 만들어야합니다. 이것은 또한 장면을 ontop로 실행하고, 그 장면과 내용을로드 및 언로드하는 것을 관리하는 기초 유형을 포함합니다. Scene
클래스와
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; }
}
:처럼 사용
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());
요 수 http://www.senocular.com/flash/tutorials/faq/#gotoscene – user3373217