带来一篇代码最优化实例-Flash actionscript
flash影片的后缀名为.swf,该类型文件必须有flash播放器才能打开(包括各大浏览器,视频播放器),且播放器的版本须不低于FLASH程序自带播放器的版本。poluoluo中心提醒:明天在公司,一同事问了我一个成绩,我想写一个办法,当吸收就任意长度整型数值的时分,我怎样只保存首位,其他位全体置为0呢。我思索了几秒钟:你能够先把整型参数用String强范例转换,看看字符串的长度,如许你就可以依据长度失掉首位的数字,前面再依据长度补零就好了
明天在公司,一同事问了我一个成绩,我想写一个办法,当吸收就任意长度整型数值的时分,我怎样只保存首位,其他位全体置为0呢。我思索了几秒钟:你能够先把整型参数用String强范例转换,看看字符串的长度,如许你就可以依据长度失掉首位的数字,前面再依据长度补零就好了。这时候他问道,可不成以欠亨过字符串转换,间接用整型来处置呢?因而我们入手下手研讨:
第一种做法:
functionencoder(num:int):int{varsNum:int=num;varcount:int=0;while(true){count++;sNum/=10;if(sNum<10){sNum=Math.floor(sNum);break;}}returndecoder(sNum,count);}functiondecoder(num:int,step:int):int{var_num:int=num;for(vari:int=0;i<step;i++){_num*=10;}return_num;}经由测试,这类做法是没有成绩的,可是这是否是最好的办法呢,固然不是,由于Math.floor()的缘故原由一定会招致效力下落一部分,有举措交换么,实在很复杂,间接用int()转换一下就好了。如许是最优做法么,固然还不是,看看上面这段代码:第二种做法:
functionencoder(num:int):int{vari:int=num;varj:int=1;while(i>10){j*=10;i=num/j;}returni*j;}这段代码信任人人都能看懂,它的优化在哪呢?比之前少了一个轮回,固然效力会年夜幅提拔了。我们只需再增加一个变量作为被乘数,如许就削减了一个轮回。这段代码基础已是效力很高了,但实在假如你够仔细的话,仍旧能够再举行优化,就是这句:i=num/j;我们把它交换成i*=.1;为何呢?由于在盘算机外部,乘运算比除运算要快。让我们看一下测试了局吧:(右边是乘运算,右侧是除运算,单元:毫秒)当轮回100万次时:10281070104910651045106310241074当轮回1000万次时:10319107841046710625
“fla”是Flash的原始档,只能用对应版本或更高版本的Flash打开编辑。 还有,艺术上的优势——各异的风格;创作手法独特;独立性和原创性;拓展出新的表达空间; 向量图有一个特点,就是放大后的图像是不会改变的. 点阵图 向量图Flash的应用,还有再不断在完善的Action Script脚本语言。 flash制作的动画文件比较小,可以在网络上快速传播! 原始动画为单纯的手绘,累而且费时耗资严重,随着科技的发展应运而生了很多制作动画的软件,然而flash在各个方面的应用尤为广泛,作用最为突出,具有一定的影响力。 Flash插件的最新版本允许设计者控制Box之外的元素和把Flash元素放在HTML或其它元素上面或下面,这就为交互性打开了一个崭新的世界。 各种性能才能运用的得心应手,制作出优秀的动画。 所以不要使用不必要的高祯率 - 否则老的、慢的计算机在显示动画时会阻塞。 随着动漫发展趋势,我国也越来越重视动漫产业的发展,各种制作动画软件应运而生,其中flash比较突出。
页:
[1]