进入旧版 | 服务项目 | 成功案例 | 联系方式 | 过客留言 | 友情链接
   
设为首页
加入收藏
联系我们
网站首页 | 新闻资讯 | 操作系统 | 办公软件 | 网络软件 | 工具软件 | 媒体动画 | 网页制作 | 网站开发 | 程序开发 | 平面设计
Photoshop视频教程 | Word入门 | Flash入门 | JScript | VBScript | ASP | PHP | ADO | 网页特效 | 3DS MAX6.0命令 | 系统进程
您当前的位置:GOODSGY电脑学习网 -> 网页制作 -> Flash -> 文章内容  
浅释ActionScript代码优化

本文既为浅谈代码优化,那么就不深入到OOP设计层面。仅涉及Flash8帮助里面提到的一些代码编写优化原则,并加以解释。www.goodsgy.com

准则来源于Flash8 帮助,我做了一些解释: www.goodsgy.com

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

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

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

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

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

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

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

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

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

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

<--分页-->

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

var fontArr:Array = TextField.getFontList();

var arrayLen:Number = fontArr.length;

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

trace(fontArr[i]);

}
www.goodsgy.com

来代替:
www.goodsgy.com

var fontArr:Array = TextField.getFontList();

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

trace(fontArr[i]);

}

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

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

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

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

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

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

黑羽补充一点:对关键字的使用要谨慎。www.goodsgy.com

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

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

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

9.对涉及到调用绘图资源的函数时,尽量先多判断再调用。www.goodsgy.com

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

在百度中搜索:浅释ActionScript代码优化
在Google中搜索:浅释ActionScript代码优化
在Yahoo中搜索:浅释ActionScript代码优化

收藏到网摘:新浪VIVI 365key 我摘 POCO网摘 博采中心 YouNote 和讯网摘 天天收藏
[] [返回上一页] [打 印] [收 藏]
下一篇文章:Flash缓动效果

 相关文章    最新文章
· Photoshop中水印功能浅释
· PHOTOSHOP中水印(DIGIMARC)功能浅释
· Photoshop水印功能(DIGIMARC)浅释
· 浅释Flash ActionScript代码优化原则
· 浅释ActionScript代码优化
· 浅释ActionScript的代码优化
 
· [图文] Flash制作鼠标感应Tween类动画效果..
· [组图] Flash实例:可爱的小青蛙闹钟
· [组图] Flash也能制作特色小图标
· [组图] Flash实例教程:卡通MM眨眼睛动画
· [图文] Flash基础:了解动画基础知识
· [组图] Flash实例:打造佛光效果
· 实现flash站整个网页且flash总是居中
· Flash中如何调用exe可执行文件?
· Flash与Photoshop合作制作模糊渐变动画
· 用Flash AS代码制作按钮弹出窗口

∷相关文章评论∷    (评论内容只代表网友观点,与本站立场无关!) [更多评论…]
站内搜索

精彩图文
  网站导航  
操作系统 办公软件 网络软件
Vista Windows2003 WindowsXP Windows2000/NT Windows9X/ME Linux 其他 Word Excel Powerpoint Outlook 金山系列 其他 网页浏览 上传下载 联络聊天 邮件工具 服务器软件 网络辅助
工具软件 媒体动画 网页制作
系统工具 媒体工具 压缩工具 图文处理 文件管理 其他 3DMAX Authorware Director Maya 视频处理 其他 Flash Dreamweaver FireWorks FrontPage LiveMotion Golive HTML/CSS 其它
网站开发 平面设计 程序设计
ASP JSP PHP CGI JavaScript VBScript XML/SOAP Web服务器 Photoshop PhotoImpact CorelDraw Illustrator Freehand 设计欣赏 其他 VB VC .NET C/C++ DELPHI JAVA

冀ICP备05019428号
Copyright © 2004-2008 电脑学习网 Inc.All rights reserved.
TEL:13832340607
QQ:39873155
E_Mail:goodsgy(#)hotmail.com   (把(#)替换成@)
MSN:goodsgy(#)hotmail.com   (把(#)替换成@)