Flash AS制作LRC歌词同步的详细教程
2008-06-05 11:22:38 来源:WEB开发网六、*无处不在的优化
至此,该程序已经可以顺利执行了,此处只讨论一下优化问题,看不懂可以跳过。
以这段代码为例:
CODE:
function SoundPlaying(evt:Event):void {
for (var i=1; i if (sc.position lrc_txt.text=LRCarray[i-1].lyric;
break;
}
lrc_txt.text=LRCarray[LRCarray.length-1].lyric;
}
}
如果要进行优化,那么这个 for 循环,应该写成:
CODE:
for (var i=1,j=LRCarray.length; i这样在执行判断时,不必每次都进行 LRCarray.length 操作,该操用于读取数组长度,执行 Array 类的 length 方法,属于高级操作,花费的时间要比低级操作多。其实,只要读取一次长度,然后将结果保存在变量 j 中,每次判断时读取 j 的值即可。取值与赋值都属于低级别的操作,速度较快。同样的道理,在
CODE:
if (sc.position中的 sc.position 在每次判断时都要读取一遍,这时就应将它在循环之前保存到一个变量里,这段代码优化后应是这样:
CODE:
function SoundPlaying(evt:Event):void {
}在我们的文档类中还有几个地方用到了 for 循环,请大家按照上述方法自行优化。
var now:Number=sc.position;
for (var i=1,j=LRCarray.length; i if (now lrc_txt.text=LRCarray[i-1].lyric;
break;
}
lrc_txt.text=LRCarray[j-1].lyric;
}
其实,代码优化无处不在,其中的学问不胜枚举,有兴趣的朋友可以到我的博客中看一下关于代码优化的总结贴,见附录。
七、附录
1.LRC 文件下载地址:
http://lrc.bzmtv.com/
http://www.5ilrc.com/
2.至于 MP3 的下载,我想大家比我在行,用百度或酷狗都可以。
3.代码优化总结贴地址:
http://www.webjx.com/flash/actionscript-5898.html
4.整个文件包括(歌曲、歌词、LRCPlayer.as 、FLA 文件)打包下载:
http://www.fs2you.com/zh-cn/files/cf760b0f-01a0-11dd-9174-0014221f3995/
八、结束语
恭喜您坚持到了现在,确实内容比较长,同时也涉及了一些知识点。其实做法肯定不只这一种,所以希望大家多多发挥主观能动性,结合上述内容继续将这个播放程序做大做强。好了,就到这里,再次感谢。
- ››ASP.NET及JS中的cookie基本用法
- ››ASP.NET获取MS SQL Server安装实例
- ››asp.net实现调用百度pai 在线翻译英文转中文
- ››ASP.NET页面选项进行提示判断
- ››Asp.net定时执行程序
- ››ASP.NET中利用DataList实现图片无缝滚动
- ››ASP.NET验证控件RequiredFieldValidator
- ››ASP.NET中使用System.Net.Mail发邮件
- ››ASP.NET中获取用户控件中控件的ID
- ››ASP.NET中FileBytes写成文件并存档
- ››asp获取毫秒数
- ››asp.net报“INSERT INTO 语句的语法错误解决
更多精彩
赞助商链接