ddc
联网
平面设计 画册 VI欣赏 包装 CG-插画 搜索 个人网页 Alexa排名 CSS 建站资源 下载专区 JS特效 品牌服装 服装院校 专题欣赏 SEO 图标欣赏 专题
上海网站建设 网站建设 域名注册 虚拟主机 广州网站设计 域名注册 广州网站建设 上海网站建设 虚拟主机 广州网页设计 虚拟主机 域名注册 acg ACG玩家 品牌设计
求创科技
网站建设
中国互联
投稿
素材出售
中国设计秀
中资源
当前位置:网络学院首页 >> 设计教程 >> Flash >> 浅释Flash ActionScript代码优化原则

浅释Flash ActionScript代码优化原则

来源:中国设计秀    作者:    点击:23     加入收藏    发表评论
0
顶一下

本文浅谈Flash ActionScript代码优化,主要针对Flash 8帮助里面提到的一些代码编写优化原则加以解释。

1.避免从一个循环中多次调用一个函数。

在循环中包含小函数的内容,可使效果更佳。小函数生命期短,利于资源释放。尤其是在大的循环中时。

2.尽可能使用本机函数。

本机函数要比用户定义的函数运行速度更快。本机函数即Flash中内有的一些函数(intrinsic),比如hitTest(),你没必要自己写一个类似的。

3.不要过多使用 Object 类型。

数据类型注释应力求精确,这样可以提高性能。只有在没有适当的备选数据类型时,才使用 Object 类型。同时也便于代码管理,时刻知道对象的类型和作用。

同时也有利于编译器编译时优化。

4.避免使用 eval() 函数或数据访问运算符。

通常,较为可取且更有效的做法是只设置一次局部引用。不得已时才用eval,比如转换_droptarget为MovieClip时。

5.在开始循环前将 Array.length 赋予变量,尤其是大的循环。

在开始循环前将 Array.length 赋予变量(比如var iLength:Number),将其作为条件使用,而不是使用 myArr.length 本身。

原因,在循环中,iLength是Number变量,会被放入寄存器使用,效率远比访问Array再得到length高。

例如,应使用

var fontArr:Array = TextField.getFontList();

var arrayLen:Number = fontArr.length;

for (var i:Number = 0; i < arrayLen; i++) {

trace(fontArr[i]);

}

来代替:

var fontArr:Array = TextField.getFontList();

for (var i:Number = 0; i < fontArr.length; i++) {

trace(fontArr[i]);

}

6.注重优化循环及所有重复动作。

Flash Player 花费许多时间来处理循环(如使用 setInterval() 函数的循环)。

7.在局部变量够用时,不要使用全局变量。 类静态变量也要少用。

全局变量是开发者的恶梦。实在需要全局变量的话,我建议使用singleton设计模式来进行管理。

8.声明变量时,添加 var 关键字。

这是为了编译时让编译器知道你的变量类型,优化编译。

黑羽补充两点:

1、对关键字的使用要谨慎。

不赞成使用关键字作为自己的method和属性名,除非你确认后续开发不会用到相同的事件名和属性名。

但你怎么知道flash使用了多少隐藏关键字?太多了!比如说 className, invalidate, refresh, mouseOver等等不常用的关键词。好的方法是使用SEPY编辑器来写代码,那里面加亮了所有公布的和没有公布的关键词。

而且因为很有可能和start,load,等这些常用的事件名重复,带来代码不必要的修改和麻烦。

2、对涉及到调用绘图资源的函数时,尽量先多判断再调用。

所有渐变,位置变化,创建删除MC,组件等函数都涉及到绘图资源的调用。在很多情况下,尽量先用逻辑判断变量或者对象的属性,必要时再调用这些函数。这样可以节省较多的计算资源

2006-06-07 11:21:00    出处:blueidea
Google
热点文章/相关文章

音乐
嫁衣 画心 放生 天亮了 牡丹江 那滋味 擦肩而过 怀念过去 北京欢迎你 突然好想你 吻的太逼真 说好的幸福呢 坐上火车去拉萨 没有人比我更爱你
愚爱 心碎 稻香 带我走 醉赤壁 魔杰座 我还想她 明天过后 一定要爱你 等爱的玫瑰 原谅我一次 越单纯越幸福 最后一次的温柔 给我一首歌的时间
白狐 光荣 降临 下雨天 小酒窝 樱花草 恋爱新手 说唱脸谱 红色高跟鞋 寂寞才说爱 深深爱过你 爱上你是个错 即使知道要见面 不是因为寂寞才想你
城府 假如 花海 兰亭序 棉花糖 舍不得 最后一次 女人如烟 外滩十八号 我们的纪念 我们的无奈 心在跳情在烧 爱上你是我的错 爱情里没有谁对谁错
网站地图 | 关于我们 | 联系我们 | 网站建设 | 广告服务 | 版权声明 | 免责声明 | 网站公告 | 友情链接 | 留言 | 旧版入口