大型FLASH网络游戏开发经验浅谈---webGame篇
原创:netice 转载注明 来自 4yue.net
针对游戏,我分了以下几个部分
一:资源管理
1 从格式上分类 png/jpg 位图 ,swf动画文件
2 从功能上分类 位图展示文件(png\jpg\swf),swf类库文件
3 如何进行版本管理
资源服务器管理(CDN 资源过期时间控制)、客户端管理(资源变更后,换名或 者加版本后缀)
4 加载资源
A预加载 ,全局资源(永占内存,尽量少些)
B 动态加载,部分动态需求资源(临时占内存,尽量多些)
5 资源压缩处理(png\txt\xml)
A 主要针对 png压缩即可(有损)(1 alpha通道抽取 2 嵌入到swf 选择JPG压缩)
alpha通道抽取 配合动态加载比较合适,而嵌入到swf配合预加载比较合适。
B TXT、XML 无损ZIP即可,也可以使用 web服务器的gzip传输。
6 资源缓存
A 本地共享对象
优点:统一管理缓存,不受各种游览器兼容性影响,完全自主管理(用户一般 清理不到这部分缓存)。
缺点:要求用户门槛高,需要引导用户对外开放自己的本地共享存储大小便于 存储,用户有安全顾虑,出现版本问题用户很难解
决。完全靠开发者的 版本管理机制才行。
B IE缓存
优点:用户门槛低,出现版本问题直接清理缓存即可。
缺点:需要与IE 缓存配合管理版本,很容易被清理重新下载。
二:结构原型
1 基于框架搭建 flex框架
FLEX IOC :Spring ActionScript\Parsley
FLEX MVC:pureMVC\Cairngorm
纯AS3框架相对flex少些 :pureMVC(纯MVC)、fatgirlMvp(AS3数据绑定)
基于框架开发原型:
好处: 统一、框架一般有较全面的解决方案、稳定。
缺点: 庞大、需要学习时间、不便于修改框架来适应一些特定需求,效率上很难 优化。
2 自定义功能框架
基于flash构建UI界面(生成SWC或者SWF)、基于flex编程。
好处:灵活小巧、学习时间较短、便于根据需求随时修改、高效
缺点:不稳定,随时面临结构或者功能上的重构
三:功能拓展(模块化开发)
目的:功能高聚性,模块低耦合。
1 多swf开发,加载swf 反射获取对象。
缺点:代码容易交错到不同的swf里面、后期维护复杂。
优点:开发妥当,接口明确的情况下,很好的插件开发模式。
2 单SWF开发,IOC配置注入开发,根据配置 多功能引入
缺点:配置文件复杂、运行效率降低、查错困难
优点:松耦合强,关联少。
四:关于 UI
1 编辑器
A 使用官方IDE
操作简单、BUG极少。
感觉 flash应该算是最好的,从CS3到CS5,CS3只能 getChildByName,CS5 可以直接点出来了。
B 自己开发工具:
适应特定项目需求,容易出现BUG,操作复杂。
2 开发流程
尽量使用单例(我通过工厂实现),UI唯一性减少很多不必要的麻烦。
UI逻辑 与 资源分离(我主要通过中介模式来处理),可以随时换皮肤。
五:国际化
1 前期做好XML配置,文字尽量配置化(字体、内容等)后期多语言,直接替换 XML即可。
2 UI 尽量逻辑与界面分离,便于换布局
本文固定链接: http://www.4yue.net/post-17.html
发表评论