A碰到B之后持续加速度的时间问题

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;
	}
}
posted on 2011-01-24 17:48  602147629  阅读(361)  评论(0编辑  收藏  举报