今天是:   | 登录中心 | | 网络导航
logo 来海南旅游咨询 海南旅游 预订海南酒店 自驾租车 海南高尔夫 问路订房就请拔打海南旅游百事通  全天24小时为您守候 设为首页
加入收藏
联系站长
导航页为首页
内容页为首页
当前位置:南国风 >> IT.信息技术 >> game@webdev >> 浏览文章

[转]flash_webgame的一点点经验

作者:佚名 日期:2010年11月02日 来源:本站原创 人气:
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动画在搞恶作剧,着实郁闷了一段时间。

    哇,发觉夜很深了,就先唠叨这些吧,都没有什么难点,其实就是项目开发中的一些细节总结而已,个人认为,对于项目中的算法逻辑等,其实理清了思路,查查资料都可以解决掉,决定一个项目开发进度的其实就是那些最容易被忽视的细节问题,而这些就需要经验的不断的积累总结了。但愿我的总结能够给你一些帮助。

email:lifat@yeah.net| QQ:_3000_99**61 T先生
  服务指南 | 著作权与商标声明 | 法律声明 | 服务条款 | 隐私声明 |


南国风网站的版权信息:保留所有权力

不良信息举报中心!
琼ICP备15001822号