| Flash MX – 新的闪烁世界(第八天)
新的闪烁世界按照每天一个类别的新特性来感受Flash MX的路已经走到了第八天,程序和设计的岔路口似隐似现的就在眼前,而我写这个系列的文章的目的是希望可以拉住要前往设计之路的同行说:“兄弟,要不要试一试FlashMX?”,好傻的一句话,其实我不过是想说——FlashMX,通往理性世界的后门。
一个简单的程序基本流程需要包括:初始化,运行期,结束处理 三部分。当决定了一个程序的目的后,其3部分的内容也是多样的,不过少哪一部分都是无意义的。
在运行期的处理是通过一个主程序时钟来让程序一直处于循环状态,直到用户、异常错误或系统中断而退出循环到结束处理,而这个时钟既是我们今天要学习的一个单独课题。
早期的时钟(下面称Timer)很简单,直接取用CPU的运算速度并加以简单处理,直到高频率的CPU出现,人们才考虑如何处理/减少CPU间程序运行的差距,这个不得不解决的问题你可以尝试用雷鸟1G玩仙剑……(简直是自杀阿……也许仙剑因此才耐玩);Flash
MX的时钟从5时代就已经看见改良后的效果,虽然在相差太大的机器上还是看到丢帧的问题,但已经很好的解决(似乎没人愿意跟我苟同)。到Flash
MX的今天,我们终于可以控制Timer了。
首先看一个放松点的例子来减缓经过上面的文字攻击视觉疲劳:
createEmptyMovieClip("mc",1);
function drawDream() {
mc.lineStyle(random(++i/100),++i*random(30),(++i/30));
tempx=random(500);
tempy=10;
mc.moveTo(tempx,tempy);
mc.lineTo(tempx, tempy+300);
}
idDream=setInterval(drawDream,50);
运用setInterval,每50毫秒执行一次drawDream,通过draw method随机绘制出来一个梦的窗帘……(好傻的名字,看图1)
(图1)
|