8.3.8 状态检查

  本例中执行总次数为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;

}

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

 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值