1.自己总结的游戏框架,小到中型游戏适用——基本的panelbase(面板)
来源:互联网 发布:tensorflow centos7 编辑:程序博客网 时间:2024/04/27 19:26
1.游戏里面的每个系统,如聊天,邮箱(我做的是手游,所以这些也是单独的一个面板)都是一个独立的panelbase,在这里面做的事情如下:
调用AseetManager加载资源
加载完成后有回调(在外i之前的一篇文章中就简单的描述,或者自己百度吧)
然后调用一个被子类覆盖的方法(子类自行添加需要展示的资源)
处理加载的资源(由于用的是as,对效率要求较高,大多界面的资源在不要的时候会处理掉)
好了,上代码
package core{import flash.display.Sprite;import manager.AssetsManager;/** * * @author joj */public class PanelBase extends Sprite{private var loadQueue:Array;public function PanelBase(){prepareShowPanel();}/** * 由子类覆盖 */protected function prepareShowPanel():void{}/** * 加载当前界面的资源 * @param queue */protected function preLoadAssets(queue:Array):void{loadQueue = queue;for (var i:int = 0; i < queue.length; i++) {AssetsManager.instance.addLoadQuue(queue[i],onLoadComplete);}}/** * */private function onLoadComplete():void{onShow();}/** * 在当前资源加载完成后执行,把需要展示的东西弄出来。。由子类覆盖 */protected function onShow():void{}/**关闭面板后需要做的处理,移除事件,timer等等 * 也由子类继承 */public function dispose():void{AssetsManager.instance.disposeAssets(loadQueue);}}}
然后在来一个继承了上面这个类的
package game{import flash.display.DisplayObject;import flash.events.MouseEvent;import flash.geom.Point;import flash.text.TextField;import flash.text.TextFormat;import AStar.GV;import component.GameButton;import core.GameControl;import core.PanelBase;import core.PanelEnum;import game.fightField.FightMap;import game.player.Role;import manager.AssetsManager;import manager.RoleManager;public class GameMainPanel extends PanelBase{private var m_assets:Array;private var road:FightMap;private var m_myRole:Role;public function GameMainPanel(){}protected override function prepareShowPanel():void{m_assets = [];m_assets[0] = "assets/gameMain.swf";super.preLoadAssets(m_assets);}protected override function onShow():void{createDisplay();} private function createDisplay():void{var bg:DisplayObject = AssetsManager.instance.getDisObject(m_assets[0], "bg");addChild(bg);var outBtn:GameButton = new GameButton(AssetsManager.instance.getCommonAsset("close"));outBtn.x = 300;outBtn.y = 50;addChild(outBtn);}public override function dispose():void{super.dispose();}}}
文笔不好,见谅。有问题可回复,要批判我接着。。哈哈~
AssetManger 加载资源的这个类我会另外再写。。
0 0
- 1.自己总结的游戏框架,小到中型游戏适用——基本的panelbase(面板)
- 2.自己总结的游戏框架小到中型游戏适用——从swf加载素材资源
- UI面板的基类PanelBase-----罗培羽
- 游戏的基本框架
- 《从业务新手到业务老手——游戏开发中CRUD框架的基本组成部分》
- 为公司做的基本游戏框架
- j2me游戏引擎——游戏引擎的基本构
- 那些独立开发者适用的游戏引擎
- Windows编程 从消息窗口到基本窗口 游戏循环窗口框架的简单实现
- 属于我自己的总结——看楚云暮的《疯狂游戏》读后感
- SilverXna初体验:基本游戏框架——古老的三段式
- D3D10基本框架的示例和截图—《3D游戏程序设计入门(DirectX10.0)》
- 游戏的基本体会
- 小珂的游戏
- 小t的游戏
- IGFrame~自己写的Java2D游戏小架子
- 我的游戏框架
- 用java的swing框架自己写贪吃蛇游戏
- morphologyEx,dilate两种膨胀操作对比
- 查看 linux 位数
- PIM协议翻译及深入理解分析(rfc2362第二章)
- ORACLE查看并修改最大连接数
- 撒发生闻风丧胆
- 1.自己总结的游戏框架,小到中型游戏适用——基本的panelbase(面板)
- Anroid ListView分组和悬浮Header实现
- HDU2159 二维费用背包
- Java对象插入排序算法
- 简单递归—计算N!
- android数据库中数据不存在就插入,存在就更新操作方法
- USACO--1.2 Milking Cows
- 解决ScrollView下嵌套ListView或Gridview进页面不在顶部的问题
- TCP文件传输(一)