AS3 开发WebGame心得(主程)

来源:互联网 发布:饥荒海滩版数据修改 编辑:程序博客网 时间:2024/05/09 05:43

开发游戏前的思考

1、整理和积累一套基础框架(包含MVC、渲染引擎、通信、BUG处理等)
2、团队协作
a、部署服务器软件:SVN(版本控制)、Bugfree(问题处理)、Web服务器(外部资源和配置)
b、指定相关的规范:代码、文档、协作
3、与服务端沟通和协商交互方式,选择合适的通信模式(XML、JSON、AMF等)
4、开发游戏基础功能,需要考虑项目的扩展性,以应对多变的策划方案。
若有必要,规划一些对象的基类,即使目前你想不到任何该类的功能,你应该可以直接取个类名或者接口名来套上,日后扩展。


具体开发时的思考

1、部署游戏项目的架构(多人开发必用MVC,别去折腾OOP,你真的会伤不起,直到泪牛满面)
2、错误调试工具(框架中支持),全局调试信息输出工具,主要用于在不能用trace的情况下输出调试信息或者通信信息 
3、内存、帧率控制(框架中支持),如内存监控数值和帧率数值体现到游戏屏幕中
4、图像渲染引擎和资源管理及加载机制(可与美术部门协作沟通)
5、通信模块及方式
6、其它辅助工具
a、SWF加解密、资源加解密
b、地图、角色、动作编辑器(可以考虑整合)


规范

开发项目之前一定要定义明确的规范,这有助于提高团队开发效率及减少沟通成本
1、代码规范
2、通信规范
3、美术资源规范


游戏大局结构

1、本地MVC通信
2、网络通信
3、UI、资源、配置
4、游戏功能模块
5、帧动画机制


资源加载和管理

1、加载各种资源及解析(swf、mp3、png、jpg、自定义)
资源路径应该分成3个部件:头、路径、版本
http://192.168.1.88/ 资源头,可以方便替换成远程地址
res/scene/1001.swf 资源路径
?version=20130422 版本号,主要为了解决SWF缓存问题
2、资源缓存和临时存放
对加载的资源做缓存、内存紧张时释放目前不使用的资源(自定义峰值)
3、提取接口
4、加载进度、批量加载、错误处理等


网络通信方式(Socket)

1、CMD+BODY
2、AMF直接传输对象


WEB通信方式

1、XML
2、JSON


动画处理

1.图像资源的方式
a.swf矢量图
b.图片序列图
2.图像播放形式
a.心跳机制(timer和EnterFrame事件驱动)
b.基于MovieClip的时间轴
3.共享方式
a.同一图像共享BitmapData资源
b.采用计时器对BitmapData引用进行计数


MVC框架

1、分离视图和视图逻辑,以及数据模块。
最理想的流程:美工制作好UI整体->程序加工(命名,加事件,加动画等)->打包调试结合视图管理器加逻辑处理->加数据模块处理
2、UI之间通过视图管理器View交互
3、UI分类:场景、面板、UI界面,3者都是MVC架构,都可以交互通信
4、层容器初始化及其使用
5、View、Model的预定义初始化
6、Model集成Web和Socket通信
原创粉丝点击