富甲西游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动画在搞恶作剧,着实郁闷了一段时间。
哇,发觉夜很深了,就先唠叨这些吧,都没有什么难点,其实就是项目开发中的一些细节总结而已,个人认为,对于项目中的算法逻辑等,其实理清了思路,查查资
料都可以解决掉,决定一个项目开发进度的其实就是那些最容易被忽视的细节问题,而这些就需要经验的不断的积累总结了。但愿我的总结能够给你一些帮助。
分享到:
相关推荐
尽管现代Web倾向于使用HTML5和JavaScript,但对于某些特定的需求,如游戏、复杂动画或多媒体应用,FlashWeb框架仍然是一个有效的选择。理解并掌握FlashWeb框架的构建和运作原理,对于提升Web开发技能,尤其是对历史...
【标题】"mp3转换flash"涉及的核心技术是音频格式转换和Adobe Flash技术。这个工具主要是将MP3音频文件转化为SWF(ShockWave Flash)格式,以便在网页上播放或用作聊天应用中的声音提示。SWF是Adobe Flash Player...
基于flash的web视频会议基于flash的web视频会议基于flash的web视频会议基于flash的web视频会议基于flash的web视频会议基于flash的web视频会议基于flash的web视频会议
标题“FLASH Web阅读器”指的是一个基于Flash技术的在线PDF阅读解决方案。Flash Player是一种广泛使用的插件,允许在Web浏览器中播放多媒体内容,包括动画、视频和交互式应用程序。在这个特定的应用场景中,它被用来...
【标题】"flash_web_server.zip" 是一个包含Flash Web服务器软件的压缩包,该软件用于构建基于Web的交互式服务。"Server_flash_web server"强调了这个软件与服务器端的Flash技术结合,使得Web服务器能够支持Flash...
在信息技术领域,Flash Web桥源码指的是使用Adobe Flash技术构建的一个组件或应用,其主要功能是作为Web应用程序与其他技术(如JavaScript、服务器端脚本等)之间的桥梁,实现不同平台之间的交互。Flash曾经是网页...
Java Web开发中,将视频转换为Flash格式是一个常见的需求,特别是在构建在线视频平台时。这里主要涉及的技术点包括FFmpeg、Memcoder以及如何在Java Web环境中整合这些工具。以下是对这些知识点的详细解释: 1. ...
"Word转Flash工具"就是这样的一个实用程序,它的主要功能是将Microsoft Word文档转换为Adobe Flash(SWF)文件。这种转换有其特定的应用场景,例如在线教育、网页展示和多媒体教学等,因为Flash文件可以提供动态和...
flash函数中包含了大部分的利用flash进行web开发的函数
在IT行业中,Java和.NET是两...综上所述,Java Flash上传插件调用.NET WebAPI进行批量文件上传是一个涉及到前端交互、后端处理和服务器接口设计的综合问题。理解这些知识点有助于构建高性能、安全可靠的文件上传系统。
标题中的“gif动画转flash工具”指的是一个软件应用程序,它能够将GIF格式的动画转换成SWF格式的Flash动画。GIF是一种流行的用于在网络上显示简单动画的图像格式,而Flash则是Adobe公司开发的一种交互式矢量图形和...
在深入探讨“Web技术深入交流:Flash在Web与桌面的应用”这一主题时,我们首先要理解Flash的历史背景及其在Web和桌面应用中的重要性。Flash是由Adobe公司开发的一种多媒体平台,曾广泛用于创建交互式动画、游戏、...
在Web开发领域,Flash曾是一种广泛使用的多媒体技术,用于在网页上播放动画、视频和其他交互式内容。随着HTML5的发展及其对多媒体内容的原生支持,Flash的应用逐渐减少,但在某些特定场景下仍能看到它的身影。 ####...
"Web方式通过Flash批量上传文件"是一种解决方法,它利用了Adobe Flash技术来实现多文件同时上传的功能。本文将深入探讨这个主题,包括其原理、优势以及实现步骤。 Flash技术在过去的网页交互中扮演了重要角色,它...
总结来说,这个基于ASP.NET的动态加载Flash到Web网页的控件是通过自定义服务器端控件和客户端脚本协同工作实现的,提供了一种灵活的方式在Web页面上按需加载Flash内容。通过深入学习和理解这个源代码,开发者可以...
在Web开发领域,ASP.NET是一种常用的服务器端编程框架,它为构建动态网站、Web应用程序和Web服务提供了强大的支持。在ASP.NET中集成Flash控件,可以实现丰富的多媒体交互功能,如播放视频、动画或者实现一些复杂的...
在数字媒体领域,Flash是一种广泛使用的交互式矢量图形和脚本语言,它曾经是创建网页动画、游戏和应用程序的首选工具。随着技术的发展,Adobe Flash逐渐被HTML5所取代,但仍然有许多遗留的Flash内容需要处理。"Flash...
在Web开发中,Flash曾是实现动态内容和交互体验的重要技术,尤其是在视频播放、游戏和动画领域。然而,随着HTML5的崛起,Flash逐渐被替代,因为HTML5提供了原生支持,无需额外插件,且在性能和跨平台兼容性上更优。...
"jsp+flash web摄像保存图片到本地"的主题就是关于如何利用JavaServer Pages(JSP)和Adobe Flash技术来实现在Web上捕获摄像头图像并将其保存到用户的计算机上。以下是关于这个主题的详细知识点: 1. JSP基础:JSP...
在IT行业中,Flash是一款历史悠久且曾经非常流行的交互式多媒体创作工具,尤其在互联网早期,它广泛用于创建动画、游戏和网页交互元素。本主题聚焦于"Flash 3D转换特效",这是一种通过Flash平台实现三维视觉效果的...