/* *文件名: 野狼1.0客户端 *创建人: 陈泽丹/Clark *创建时间: 20120219 *文件描述: */ package Src { import flash.display.Sprite; import Src.UI.草船借箭UI.ArrowUI; import flash.utils.Timer; import flash.events.TimerEvent; public class Client extends Sprite { private static var g_pCurItem:Object = null; public static const g_pMainScene:Sprite = new Sprite(); public static const g_pSceneItems:Object = new Object(); public static const g_szCurScene:String = "ArrowUI"; private static const g_pDrawTimer:Timer = new Timer(100,0); public function Client():void { // constructor code this.graphics.clear(); this.addChild(g_pMainScene); LoadScene(); runScene(g_szCurScene); g_pDrawTimer.addEventListener(TimerEvent.TIMER, onDrawTime); g_pDrawTimer.start(); } public function onDrawTime(evt:TimerEvent) { if( null != g_pCurItem) { g_pCurItem.draw(); } } public function runScene(_CurScene:String) { if (null != g_pSceneItems[_CurScene]) { trace("OK,访问场景 " + _CurScene + " !"); ClearScene(); g_pCurItem = g_pSceneItems[_CurScene](); } else { trace("Error,访问空场景 " + _CurScene + " !"); } } public function ClearScene() { //释放资源 g_pCurItem = null; //清空屏幕 for (var i:int=g_pMainScene.numChildren-1; i>=0; i--) { g_pMainScene.removeChildAt(0); } g_pMainScene.graphics.clear(); } public function LoadScene() { g_pSceneItems["ArrowUI"] = ArrowUI.CreateObj; //g_pSceneItems["CreateSpace"] = Space.CreateObj; } } }
package Src.Tool { import flash.display.Loader; import flash.net.URLRequest; import flash.events.Event; import flash.display.Bitmap; public class Image { private var m_pLoader:Loader = new Loader(); public var m_pImg:Bitmap = null; public function Image(_szPath) { // constructor code const url = new URLRequest(_szPath); m_pLoader.load(url); m_pLoader.contentLoaderInfo.addEventListener(Event.COMPLETE, onLoadComplete); } public function onLoadComplete(evt:Event) { m_pImg = Bitmap(m_pLoader.content); m_pLoader = null; } } }
package Src.UI.草船借箭UI { import Src.Client; import Src.Tool.Image; public class ArrowUI { private var m_pBk:Image = null; public function ArrowUI() { // constructor code m_pBk = new Image("Src//Res//ArrowUI.png"); } public function draw() { if( null != m_pBk.m_pImg) { m_pBk.m_pImg.x = 0; m_pBk.m_pImg.y = 0; Client.g_pMainScene.addChild(m_pBk.m_pImg); } } public static function CreateObj() { return new ArrowUI(); } } }
/* *文件名: 小船类 *创建人: 陈泽丹/Clark *创建时间: 20120219 *文件描述: 用于草船借箭的NPC */ package Src.NPC { public class Boat { public function Boat() { // constructor code } } }
/* *文件名: 外观类 *创建人: 陈泽丹/Clark *创建时间: 20120219 *文件描述: 表现各种NPC外观 */ package Src.State { import flash.display.Sprite; import Src.Client; public class View extends Sprite { public function View() { // constructor code } } }
/* *文件名: 空间类 *创建人: 陈泽丹/Clark *创建时间: 20120219 *文件描述: 计算各种位移,视口变换等 */ package Src.State { public class Space { public function Space() { // constructor code } } }