import flash.utils.Timer;
import flash.events.TimerEvent;
//记录是否需要加入时间侦听
var count:int;
//时间事件
var timer:Timer;
//物体的速度
var speed:Number;
//记录物体最初的速度
var initSpeed:int;
//A碰到B之后增加的速度
var addSpeed:Number;
//A碰到B之后加速度持续的时间
var numTimer:Number;
//判断A是否碰到B
function hit():void
{
if (A.hitTestObject(B))
{
if (count == 0)
{
speed += addSpeed;
timer = new Timer(1000,numTimer);
timer.addEventListener(TimerEvent.TIMER_COMPLETE,onTimerComplete);
timer.start();
}
count++;
}
}
//判断A加速度持续的时间是否完成
function onTimerComplete(e:TimerEvent):void
{
count--;
timer.reset();
timer.removeEventListener(TimerEvent.TIMER,onTimerComplete);
recoverSpeed();
}
//判断A加速度持续的时间是否完成,完成之后速度变为初始速度
function recoverSpeed():void
{
if (count != 0)
{
timer = new Timer(1000,numTimer);
timer.addEventListener(TimerEvent.TIMER_COMPLETE,onTimerComplete);
timer.start();
}
else
{
speed = initSpeed;
}
}