快速业务通道

Actionscript优化教程

作者 佚名技术 来源 服务器技术 浏览 发布时间 2012-07-10
环使各种操作能够顺利进行。 另外一点简单的提示是将帧频(fps)参数设置为一个合理的值:记住,帧频越高,就需要越多的CPU资源以处理每一帧的代码。 介于25~35的帧频对于在每一帧运行一般复杂度的代码来说比较适合,即便是在一个速度较慢的机器上。超过60fps的帧频没有必要(除非有一个特殊的理由)。 >>位图VS矢量图: 讨论图像对于开始之前选择一条正确的途径非常重要。 Flash天衣无缝地使用矢量图和位图,但是这两者对Flash Player的影响完全不同。使用矢量图时尝试最大限度地排除冗余点以简化图形。这将有助于减少播放器花在每个矢量图上的计算量。 另一个重要的方面是轮廓线的使用,它几乎可以将动画的呈现效果置于死地。要尽可能地避免这些不良影响。 使用小于100alpha值也会对整体速度造成坏的影响,因此当您明显感觉到速度减慢时请关注一下影片剪辑的alpha值。 如果您确实需要使用许多妖怪和许多动作,您可能需要考虑使用位图。 处理位图比处理矢量图速度快,正因为如此,许多基于分块的Flash游戏(title based Flash game)都是基于位图的,尽管如此,Flash处理位图的速度并不是冠军(例如和Director相比)。 Flash支持GIFJPGPNG格式的位图,后者的渲染速度比前两者快,因此推荐尽可能使用PNG格式的位图。 >>影片剪辑可见性: 您经常会使用大量位于屏幕以外的影片剪辑,它们等待着进入游戏的可见区域的机会来临。这通常发生在游戏区域比实际的游戏屏幕大的情况下。对于屏幕以外的事物,同样会占用一定数量的Flash Player资源,理解这一点非常重要(无论它们只有一个帧还是连接成动画的多个帧)。 解决这个问题的一个好办法是在影片剪辑中使用一个空白帧,可以使用gotoAndStop()跳转到该帧,以在一定程度上缓解Flash Player的压力。 请记住设置可见属性(_visible = false)对于节省播放器时间不起作用。 >>数组: 数组在应用程序中被广泛使用,游戏经常需要数组来存储数据。 一种典型的情况是一个基于分块的游戏,其中的游戏地图保存在一个二维数组中,类似于这样:arr[y][x]。 虽然这是一种很简单的技术,但是使用一个简单的一维数组可以加快您对游戏数据的访问。 另一条优化数组的方法是,使用for…in循环结构遍历数组取代forwhile结构。 代码如下:
for (var i in arr) { if (arr[i]>50) { // do some processing here } }

已经证明比下面的代码运行速度快:
for (var i = 0; i<10000; i++) { if (arr[i]>50) { // do some processing here } }

快了30%!特别是想要在游戏主循环的每一帧都执行这样的代码,对于速度来说,这是一个不小的改进!

关键词:优化
  • 1
  • 2
  • 下一页
【内容导航】
第1页:Actionscript优化教程 第2页:高级优化1

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号