8.3.8 状态检查

来源:互联网 发布:windows系统补丁下载 编辑:程序博客网 时间:2024/05/01 19:42

  本例中执行总次数为100次,当定时器结束时,对象恰好处在显示状态。如果总执行次数为99次,则动画停止时,对象处在不可见状态。对观众而言,对象经过一阵闪动然后消失了。

这样的结果不是程序开发者希望得到的,需要做进一步的改进。通过预先检查执行总次数和对象状态的关系,可以预防这种问题。更为省力和保险的办法,是在代码中直接设置动画对象的终止状态。通过响应定时器的timerComplete事件,将动画对象animObject1alpha属性设置为1。这样无论循环次数如何,动画对象最终都会显示在舞台上。

下面给出完整的代码以供参考:

var animTimer:Timer = new Timer(50 100);

         animTimer.addEventListener("timer" animTimerHandler);

         animTimer.addEventListener("timerComplete" animComplete);

         animTimer.start();

 

function animTimerHandler(event:TimerEvent):void {

         //动画代码编写入口

         animObject1.alpha=(animObject1.alpha==1?0:1);

}

function animComplete(event:TimerEvent):void {

         animObject1.alpha=0;

}

这样的改动虽然简单,但却是关键的细节。在调试复杂的应用程序中,抓住流程的临界和边缘状态,往往能准确地找到代码的缺陷。

 
原创粉丝点击