富甲西游web版也已经内侧了快一个月了,这段时间bug不断,修修补补虽然未曾停过,但没叫以前那么忙了。开发
web网游也快1年了,谈不上什么经验,难的东西写不出来,只能啰嗦点简单的,随便侃侃项目开发中的一些细节问题吧,算是经验分享下。
1
.关于配置文件的管理。这里提供2种方法:
a.硬编码在一个类中,作为静态方法提供。
优点:效率高。 缺点:更新起来麻烦,修改了配置文件就得重新编译一次项目。
b.对于配置文件比较多,且修改频繁的项目,就可以采取将所有配置文件打包到一个swf文件中,一个类对应一个
配置文件,在文档类中提供这些配置类的调用接口,这样初始化的时候也只需加载一个swf文件,且容量比总xml
文件也小很多,这样也方便以后更新维护了。
一般项目中都是将两者结合起来用的。这里就只浅尝辄止的提供一点思路而已。
2
.关于资源的合理利用。因为现在快被flash
的垃圾回收烦透了,所以这里强烈建议项目中的一些资源尽量做到重复
利用,这里有两个思路。
a.比如游戏
中的道具,基本上都是一张图片,对于那些唯一的组件,比如装备栏,确保只实例化一个,这样就可以
以一个唯一的窗口作为一个资源池,将加载过的图片保存到一个字典中,当字典中没有对应的图片的时候才加
载。这样做的优点:1>可以减少和服务器
的连接次数节约带宽,2>减少图片的加载,从而尽可能少的降低垃圾
回收的频率。缺点:这样做的话,内存占用会比较大,这个就可以根据项目的需求来定了,比如道具图片,都比
较小,基本上可以采用这种方法,提醒一下,数据缓存的清理这个时候就比较重要了。
b.这个方法就类似于flex
中的皮肤处理了。将所有多次重用且容量较小的图片打包到一个swf中,给每个资源图片(
这里不仅仅包括图片,也可以是一些动画mc等)对应一个链接名,项目中调用的时候,由于映射的是一个Class
,所以可以只加载一个资源包,就可以取之不竭的调用对应的资源了,这个方法对于那些矢量动画比较合适。优
缺点基本同上,补充一个缺点就是这个方法比较的麻烦,资源多的话工作量可能会增加不少。
当然,采用这两种方法的前提是,当你很在乎内存的占用情况,而且无视垃圾回收时带来的短暂的性能影响(ms
现在的player10垃圾回收有点点变态),并且确定某些资源清空了引用能够被垃圾回收后就可以ws上面的2个方法。
3.
关于代码中注册的事件侦听。这里似乎是在啰嗦了,不过还是多嘴插一句,一定记得要将不用的事件侦听器
remove掉,当项目做大的时候,当你烦恼资源没被回收的时候,你再想在海量的代码中来找那些引用没被清掉
的时候,你就会感受到大海捞针的痛苦了。当然事件侦听器只是引用的一种情况,但这也是只做过小项目后最容
易被忽视的一个问题了,最后一句话,编程习惯最重要。
4.
对于外部加载的swf,场景中有动画的时候,加载进来后播放完毕时一定记得将播放的动画stop掉,flash9导出的
动画是会自动重复播放的,如果移除的swf动画没被垃圾回收的时候,那些重复播放的动画虽然没在你的眼前跳
动,但是它却依旧抢占着你的cpu,当你发现显示界面中没有什么动画,也没有什么复杂的逻辑在处理的时候,发
觉cpu有规律的时高时低的时候,就先想想这种情况吧。我是被这害过一次,以前发现当没做任何计算处理的时候
cpu竟然会间隔性的跑到30%左右了,之前一直以为是哪些地方写的定时器忘记停掉了,费劲九牛二虎之力后才发
现竟然是那些存留在内存中的swf动画在搞恶作剧,着实郁闷了一段时间。
哇,发觉夜很深了,就先唠叨这些吧,都没有什么难点,其实就是项目开发中的一些细节总结而已,个人认为,对于项目中的算法逻辑等,其实理清了思路,查查资
料都可以解决掉,决定一个项目开发进度的其实就是那些最容易被忽视的细节问题,而这些就需要经验的不断的积累总结了。但愿我的总结能够给你一些帮助。
分享到:
相关推荐
Flash是一款强大的矢量图形和动画设计软件,由Macromedia公司(现已被Adobe收购)研发,主要用于创建互动式的Web内容,包括网页动画、游戏、教育演示、应用程序等。它的特点是使用流媒体技术,允许内容在网络上传输...
在描述中提到的“白鹭_h5 鼠标html5网络闪光灯”,可以理解为白鹭引擎通过HTML5技术,特别是Canvas和JavaScript,提供了一种类似Flash的用户体验,但无需依赖任何特定的浏览器插件。这使得开发者可以创建具有复杂...
资源内项目源码是来自个人的毕业设计,代码都测试ok,包含源码、数据集、可视化页面和部署说明,可产生核心指标曲线图、混淆矩阵、F1分数曲线、精确率-召回率曲线、验证集预测结果、标签分布图。都是运行成功后才上传资源,毕设答辩评审绝对信服的保底85分以上,放心下载使用,拿来就能用。包含源码、数据集、可视化页面和部署说明一站式服务,拿来就能用的绝对好资源!!! 项目备注 1、该资源内项目代码都经过测试运行成功,功能ok的情况下才上传的,请放心下载使用! 2、本项目适合计算机相关专业(如计科、人工智能、通信工程、自动化、电子信息等)的在校学生、老师或者企业员工下载学习,也适合小白学习进阶,当然也可作为毕设项目、课程设计、大作业、项目初期立项演示等。 3、如果基础还行,也可在此代码基础上进行修改,以实现其他功能,也可用于毕设、课设、作业等。 下载后请首先打开README.txt文件,仅供学习参考, 切勿用于商业用途。
wrf转mp4播放器1.1.1
内容概要:本文档详细介绍了如何在Simulink中设计一个满足特定规格的音频带ADC(模数转换器)。首先选择了三阶单环多位量化Σ-Δ调制器作为设计方案,因为这种结构能在音频带宽内提供高噪声整形效果,并且多位量化可以降低量化噪声。接着,文档展示了具体的Simulink建模步骤,包括创建模型、添加各个组件如积分器、量化器、DAC反馈以及连接它们。此外,还进行了参数设计与计算,特别是过采样率和信噪比的估算,并引入了动态元件匹配技术来减少DAC的非线性误差。性能验证部分则通过理想和非理想的仿真实验评估了系统的稳定性和各项指标,最终证明所设计的ADC能够达到预期的技术标准。 适用人群:电子工程专业学生、从事数据转换器研究或开发的技术人员。 使用场景及目标:适用于希望深入了解Σ-Δ调制器的工作原理及其在音频带ADC应用中的具体实现方法的人群。目标是掌握如何利用MATLAB/Simulink工具进行复杂电路的设计与仿真。 其他说明:文中提供了详细的Matlab代码片段用于指导读者完成整个设计流程,同时附带了一些辅助函数帮助分析仿真结果。
国网台区终端最新规范
《基于YOLOv8的智慧农业水肥一体化控制系统》(包含源码、可视化界面、完整数据集、部署教程)简单部署即可运行。功能完善、操作简单,适合毕设或课程设计
GSDML-V2.33-LEUZE-AMS3048i-20170622.xml
微信小程序项目课程设计,包含LW+ppt
微信小程序项目课程设计,包含LW+ppt
终端运行进度条脚本
幼儿园预防肺结核教育培训课件资料
python,python相关资源
《基于YOLOv8的智慧校园电动车充电桩状态监测系统》(包含源码、可视化界面、完整数据集、部署教程)简单部署即可运行。功能完善、操作简单,适合毕设或课程设计
deepseek 临床之理性软肋.pdf
SM2258XT量产工具(包含16种程序),固态硬盘量产工具使用
RecyclerView.zip
水务大脑让水务运营更智能(23页)
资源内项目源码是来自个人的毕业设计,代码都测试ok,包含源码、数据集、可视化页面和部署说明,可产生核心指标曲线图、混淆矩阵、F1分数曲线、精确率-召回率曲线、验证集预测结果、标签分布图。都是运行成功后才上传资源,毕设答辩评审绝对信服的保底85分以上,放心下载使用,拿来就能用。包含源码、数据集、可视化页面和部署说明一站式服务,拿来就能用的绝对好资源!!! 项目备注 1、该资源内项目代码都经过测试运行成功,功能ok的情况下才上传的,请放心下载使用! 2、本项目适合计算机相关专业(如计科、人工智能、通信工程、自动化、电子信息等)的在校学生、老师或者企业员工下载学习,也适合小白学习进阶,当然也可作为毕设项目、课程设计、大作业、项目初期立项演示等。 3、如果基础还行,也可在此代码基础上进行修改,以实现其他功能,也可用于毕设、课设、作业等。 下载后请首先打开README.txt文件,仅供学习参考, 切勿用于商业用途。