使用AS3开发小游戏(2)

这几天加班加的天昏地暗,今天下午继续。

继续上一篇的话题,今天尝试可以把所有的资源打包在一个swf里。

先把这个swf加载进来,然后使用的时候分离出自己想要用的某个对象。

 

CSPriteLoader加载CBINARYLoader加载好的资源, 接口GetChild(resName:String):Sprite。

其实一下午就弄出了一句语句

public function GetChild(resName:String):Sprite { return _resContent[resName]; }

 

CSPriteLoader.as

/** * 文件名:CSPriteLoader.as * 作者:小金先生 * 接口:CSPriteLoader * 用途:该类为单件类,用于从2进制加载类中加载SWF资源,调用GetChild(name)获取SWF中的同名对象 * 第一版:2010.6.14 */ package Net { import flash.display.Loader; import flash.display.Sprite; public class CSPriteLoader { static public var SWF_PATH:String = "images/swf/"; public function CSPriteLoader() { super(); _resPath = ""; } public function InitPath(resPath:String):void { if(_resPath != resPath) { _binLoader = new CBINARYLoader(); var path:String = CSPriteLoader.SWF_PATH + resPath; _binLoader.LoadRes(path, OnLoadRes); } return; } static public function Instance():CSPriteLoader { if(_instance == null) { _instance = new CSPriteLoader(); } return _instance; } public function GetChild(resName:String):Sprite { return _resContent[resName]; } protected function OnLoadRes(loader:Loader):void { _resContent = loader.content; } static private var _instance:CSPriteLoader; static private var _resPath:String; private var _binLoader:CBINARYLoader; private var _resContent:*; } }

这样 以后 我要什么资源 直接就

CSpriteLoader.Instance().GetChild("XX");

好爽啊

你可能感兴趣的:(Flex/AS3)