[as部落首发]网页游戏开发中的一些小技巧

 

分享一:swf文件的自动化版本管理
如何在图片更新后,玩家能立即看到最新的图片呢?按照技术中心的规定,需要在文件地址后面加入版本号,格式为“__ver=版本号”,这个版本号如何进行设置管理呢?最理想的当然是全自动进行,不需要人为设置的模式。最早使用文件的修改时间作为版本号,这很容易理解,因为文件修改了,modifydate肯定是会改变的。但是后来出现了新的问题,在提交文件到svn后,另外的程序员更新得到的文件修改时间就改变了,这样导致只有一个人可以上传文件到外网,不然的话就会导致玩家额外下载全部文件。
在项目中,我使用svn的版本号来作为文件版本号,因为它也会在修改文件的时候发生变化,同时各开发人员间这个值是相同的。我在图片打包时,取出各swf文件的版本号,与文件大小拼合在一起,存放到swfInfo.js文件中。通过js与flash的交互,传递到游戏中,一方面用于载入swf时提供版本号,另一方面也可在显示载入进度时提供总下载量。
分享二:如何跟踪与服务端交互的数据
在网页模式下,默认是看到不trace数据的,但是联调和测试都离不开跟踪数据。最早我使用flash tracer在firefox中查看,缺点是不能运行于IE浏览器,所以后来使用flash+hta自已做了一个tracer工具,通过LocalConnection类建立本地连接,收到数据后传递给html中的Textarea显示。由于数据浏览的重要性,我试图找到更简便的方法,目前侠客世界项目的做法是直接集成到聊天模块中,在adminMode为true时,聊天显示框自动显示数据流。这样既不用切换窗口,也不会因为浏览数据而占用或减小游戏区域。使用appendText添加文本可解决大数据的显示的问题,最后我做了一个视觉优化,最后显示的接口数据高亮,方法是使用setTextFormat进行文本样式的局部修改。
分享三:如何更好地查看数据接口
介绍一下我使用hta自主开发接口文档查看器,虽然有一些同事已经在用了。开发这个工具的出发点是给文本加上目录结构,这样就可以保留svn中合并的功能,同时又有目录结构可看了,而这是word文档做不到的。我的做法是使用正则表达式检测退格信息,自动生成目录结构,并进行语法高亮显示。在后期我加入了svn一键更新和一键提交的功能,减少了操作步骤。由于接口文档是查看和修改频率最高的文档,所以该工具能提高不少工作效率。
分享四:使用动画脚本进行动画控制
对于程序员来说,在flash中开发动画并不是很方便,使用时间轴动画肯定是不考虑的,一般通过反复执行自定义函数的方法来实现,这种做法的问题在于实现复杂一点的动画太麻烦,也不直观。做法是使用一个Json数组来定义动画过程,该数据可以是从外部读取,也可动态生成,然后通过自主开发的类去执行,类中集成了最常用的动画功能,也可支持对接自定义方法。只需要对类进行精心打磨和升级,就可以简化调用和扩展功能。这样很多烦琐的处理都可以简化成拼Json数组。不但能处理普通的动画需求,也可以让程序员制作过场动画甚至片头动画。
 
 
关于第二点,完全不用这么麻烦
在C盘创建一个文件,C:/Documents and Settings/username/mm.cfg
用记事本打开它,在里边输入
ErrorReportingEnable=0 
TraceOutputFileEnable=1 
然后在运行一个DEBUG版的Flash,然后在C盘里搜索下flashlog.txt,这个文件里就会保存所有在网页里运行的Flash的trace。如果你是用notepad++之类的打开它的话,那只要有更新,都会有提示。
posted on 2013-08-30 00:25  猎妖手  阅读(264)  评论(0编辑  收藏  举报