页游AS客户端架构设计历程记录

来源:互联网 发布:python安装socket库 编辑:程序博客网 时间:2024/05/21 09:45

以下是一个只用JAVA做过服务器架构的程序员做的AS客户端架构,希望大家能推荐好的框架和意见,也求AS高程们的引导,等到基本功能成形后,低调开源,框架可以支持一个中度型页游的开发,本文不断更新中....

---------------------------------------------------------------------------

1.日志系统引入,基于org.as3commons.logging

2.其他系统的引入 as3commons

3.IOC 框架引入,基于spring actionscript,只实现了用application-context.xml方式去生成IOC容器的实例,没法用annotation 或者metadata方式扫描去实例化和注入,暂时先搁置这个疑问

4.config配置系统实现,并掌握注册事件侦听和自定义事件。

5.掌握AS对XML解析

6.改进Swift-tool的实现,让它可以对目录下递归打包xml文件成一个swf

7.实现load下载资源系统,该系统可以支持下载完XX资源,调用XX函数的回调方式,基于net.manaca.loaderqueue,并实现了loadDisplay[swf,图片(jpg,png,gif) ]和loadTxt[文本文件(xml,php,jsp…)]两种方式,把资源xml文件用embed方式合并入SWF改成了用工具去实现,这有便于开发人员不用再去维护ResourceXML.as文件,而很多xml文件打包成swf的功能以后会合并到导表工具中

8.改进导表工具导出的AS对象支持ORM模式

9.实现了策划资源(xml.lua等)加载系统,用AS 反射方式实现了XML策划数据无差别注入

10.找到AS3 Sorcerer和asv 工具,给看SWC源码和参考带来了方便

11.proto文件导出as消息协议类 ,并做成工具,基于protoc-gen-as3

12.通信层架构的完成,协议protobuf,底层用flash socket ,服务器返回的消息可以自动分发到已经注册的函数,一个消息对应一个系统的某个函数处理,其他系统如需受影响通过分发实现,把底层的通信,protobuf数据格式,压缩,加密都封装起来,让逻辑开发不用关心底层通信。

13.实现定时器功能

14解决 spring actionscript metadata configration 疑问 AS3 IOC框架Spring Actionscript 的使用总结

15 .引入MVC框架 Cairngorm,最终没有采用,自行实现了MVC框架体系

16.选择UI库 ghostcat  FlexLite AsWing   asuilib uicomponents-as3 比较了一下选择了 FlexLite 

17.下载器的选择,BulkLoader LoaderQueue,LoaderMax,最终选择了flexlite的DLL资源管理器

18. loading功能完成

19.实现了基本的聊天系统,主界面的设计

20.做了分层处理,目前游戏暂时分背景层------> 地图层------> 精灵层------> 前景层------> 界面层 -------> 图标层-------> tooltip层-----> popup层-------> 鼠标层

21.动作序列实现,兔子赛跑。

19.物理引擎选择 TweenLite,greensock box2d Starling 缓动性能据说比greensock 要好

20.把所有某个目录下的AS都加载进来,似乎可以参考robotleg

21.UI库 flexlite 使用过于复杂,且没有UI编辑器,打算使用morn UI,下载器可能也会使用内置的下载器

22.动画打算使用传统动画,毕竟页游使用Starling必要性不是很大,并且还不是很成熟,传统动画的参考例子相对较多。

the next is....pending.

at last,礼物的钱终于筹够了 ~~