package Src.State
{
import flash.display.Sprite;
import Src.Client;
public class View extends Sprite
{
public static function CreateObj():View
{
return new View();
}
public function View()
{
// constructor code
var sp:Sprite = new Sprite();
sp.graphics.beginFill(0xff0000);
sp.graphics.drawCircle(100,100,40);
sp.graphics.endFill();
Client.MainScene.addChild(sp);
}
}
}
package Src
{
import flash.display.Sprite;
import Src.State.View;
import Src.State.Space;
public class Client extends Sprite
{
public static const MainScene:Sprite = new Sprite();
public static const SceneItems:Object = new Object();
public function Client():void
{
// constructor code
this.graphics.clear();
this.addChild(MainScene);
InitPath();
runScene("CreateView");
runScene("CreateSpace");
}
public function runScene(CurScene:String)
{
if (null != SceneItems[CurScene])
{
ClearScene();
trace("OK,访问场景 " + CurScene + " !");
SceneItems[CurScene]();
}
else
{
trace("Error,访问空场景 " + CurScene + " !");
}
}
public function ClearScene()
{
for (var i:int=MainScene.numChildren-1; i>=0; i--)
{
MainScene.removeChildAt(0);
}
MainScene.graphics.clear();
}
public function InitPath()
{
SceneItems["CreateView"] = View.CreateObj;
SceneItems["CreateSpace"] = Space.CreateObj;
}
}
}
package Src.State
{
import flash.display.Sprite;
import Src.Client;
public class Space extends Sprite
{
public static function CreateObj():Space
{
return new Space();
}
public function Space()
{
// constructor code
var sp:Sprite = new Sprite();
sp.graphics.beginFill(0x00ff00);
sp.graphics.drawCircle(200,100,40);
sp.graphics.endFill();
Client.MainScene.addChild(sp);
}
}
}