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

这篇博客记录了一位JAVA服务器开发者设计AS客户端架构的过程,包括日志系统、IOC框架、资源配置、XML解析、资源加载、通信协议、定时器、MVC框架、UI库选择等方面,最终实现了一个支持中度页游开发的框架。作者开源并持续更新。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

以下是一个只用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.改进导表工具导出

一地图管理:(MapManager 包) 这个包下有很多的类用于地图上的管理。包括基础类Map,功能加载地图, Map 类下有以下的方法: 实现方案: 方案1.元素构成的地图 二.道具管理(ItemManager 包) 这个包是负责角色的使用物品包括道具(),武器(攻击) ,装备(防御) 三.声音管理(SoundManager 包) 这个包负责声音的特效,加载,卸载,场景音乐播放停止暂停,调整音量大小, 获取音量大小,还有一些显示的问题 四.角色管理(CharacterManager) 这个包负责创建不同的主角和配角,包括创建角色,设置角色属性,获取角色属性, 删除角色,分派角色的常见行为和技能等,设置怪物Ai。写一个接口或者建议基类共享角 色中的属性和方法(当创建主角和创建怪物的时候,也一样可以使用这样方法); 制作使用的设计模式: Strategy 模式; 工厂模式; 单例模式; 外观模式. Decorator 模式: 五.事件管理(GameEvent 包) 划分不同的情节,用不同的类来描述情节。包括不同的任务。 初步想法:写出不同的事件,每一个事件就关于一个故事情节,引发场景动画,引发一些 对白言语等等; 八.通信管理(CommunionManager 包): socket 通信,连接服务器,读取服务器的数据。读取和写入数据库; 打斗时候的各种情况记录 网络游戏中最重要的一个地方,这个关于通信的是影响到游戏是否能够顺利进行。 九.操作管理(ControlManager包): 用于设定游戏的操作键盘,和鼠标,实现与键盘鼠标进行交互管理用户输入的数据 十.游戏管理(GameManager包): (暂定) 包括游戏设定,音乐大小开关,场景特效开启调整画面质量等。查看个人信息、技能 表、自动保存问题,玩家在游戏中状态(包括时间的统计) 基本方法 GameSave();//游戏保存的问题。当玩家在游戏中死了的时候,应该如何去保存当前的数据 SoundOn(); //游戏开关全局 //画面质量,高,中,低 十一游戏Ai管理(AiManager 包 这里包括一套关于Ai 的算法机制,初步的一些想法: 包括一些有限状态机的设计模型,或者在有限状态机基础上去加入随机性去。 深入的技术:神经网络,包括BP 算法 共32页PDF
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

流子

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值