• 【设为首页】
  • 【收藏闪客居】
当前位置:主页>FLASH AS 编程>AS小技巧>文章内容
  • 教你如何优化你的AS代码
  • 来源:asFox 作者:totem_nee 2007-10-23 【
一般优化

1 变量

   用var声明局部变量,例如:
  function doosomething()
{
    mx=100;
   for(i=0;i<10;i++)
   {
    //语句
   }

}// 这种不好

function doosomething()
{
   var mx=100;
   for(i=0;i<10;i++)
   {
    //语句
   }

}//这种效率高。因为局部变量引用快,而且变量使用后,系统会自动回收。

2 帧频设置最好在 25~35fps。

3 位图与矢量图。
  (1) 矢量图做好去掉边框。
  (2) gif ,jpg ,png这些位图中,以png格式的位图,渲染得最快。

4 影片剪辑的_visible属性。
  _visible=false;
  只是看不见而已,该MC仍然存在。仍然需要计算。
  我们可以将该MC 的第一帧设成空关键帧,在需要的时候再用gotoandstop()语句到你想要的帧。

5 数组
  循环中的数组,多用for in语句,而少用for ,while语句。
例如: for(for i in arr)
     {
            if(arr>50)
         {
          //语句
          }

      }
高级优化

1 for循环与while循环

   代码1:
    for(var i=0;i<1000;i++)
{
   //code
}

代码2:
   var i=-1;
    while(++i<1000)
{
   //code
}

在用attchMove()动态导入mc时,代码2 效率较代码1 高。

2 从数组中读取数据。

  for in 语句较快。

3 向数组写入数据

while循环稍微好点。

4 合并相同项

  例如 :
代码1

   var nm=null;
for(var i=0;i<MAX;i++)

   {  
      num=Math.floor(MAX)-Math.ceil(MAX);
   }
  
代码2

   var nm=null;
   var floor=Math.floor;
   var ceil=Math.ceil
for(var i=0;i<MAX;i++)

   {  
      num=floor(MAX)-ceil(MAX);
   }

5 _global 变量与时间轴变量  

  _global全局变量比时间轴变量引用快。

6 单行付值 与多行付值。

   a=b=c=0;
  比  a=0;
       b=0;
       c=0;
  效率高,(虽然影响可读性。)
7 变量名
  
  变量名越短越好。

8 循环体中的变量

  将变量在循环体中声明 比 在循环体前声明 效果要好。

  例如
  
  代码1
   for(i=0;i<50;i++)
    {
       var nm=1
       语句;
    }

代码2
  var nm=1;
   for(i=0;i<50;i++)
    {
          语句;
    }
  代码1 比代码2效率高。

9 用嵌套if 代替。。(不知怎么翻译了 -_- P)
  
代码1

if(a==1)   
{   if(a==1)
           {     if(c==3)
               {     if(d==4)
                      {
                      var k=a*b*c*d;

                       }

                 }
  
            }
}

代码2

if(a==1&& b==2&& c==3&& d==4)

{
   var k=a*b*c*d;

}

代码1比代码2 效率高。



上一篇:Flash简单实现网页中的Flash动画全屏   下一篇:提高 ExternalInterface.call 执行效率 n 倍的代码
  • 用户名:新注册) 密码: 匿名评论
  • 评论内容:(不能超过250字,需审核后才会公布,请自觉遵守互联网相关政策法规)


FLASH源文件

Copyright © 2006-2008 flashas.net All Rights Reserved.
网站内容咨询: admin#flashas.net (#为@) 联系QQ:40777822 浙ICP备06033001号
(本网站最佳浏览解析度为1024*768, 建议使用IE 6.0或以上版本浏览器。)