我正在使用Flash Builder开发一个移动项目,我在使用Tween类时遇到了一些问题...它在一段时间内工作得很好,但是,突然之间,它就停止了工作。 / p>
游戏模拟了一个“在海底”的场景,因此,我所拥有的一个东西是“气泡”背景,它可以正常工作一段时间,然后,突然之间,所有的补间停止同时(包括其他类中的一些补间)。有关为何会发生这种情况的任何想法我正在添加背景气泡的代码,看看你是否明白为什么这可能表现得如此奇怪。
提前致谢!
public class BurbujasBack extends Sprite
{
public var timer:Timer = new Timer(200,0);
public var burbujasMaximas:int = 25;
public static var burbujasActuales:int = 0;
public function BurbujasBack()
{
x=Diversion_bajo_el_agua.ancho_st/2;
y=Diversion_bajo_el_agua.alto_st;
timer.addEventListener(TimerEvent.TIMER,_nuevaBubble);
timer.start();
}
private function _nuevaBubble(e:TimerEvent):void {
var add:Boolean = (Math.random() > .5) ? true : false;
if (add==true) {
if(burbujasActuales < burbujasMaximas) {
trace("agrega una burbuja");
var burbuja:BurbujaChica = new BurbujaChica();
addChild(burbuja);
burbujasActuales++;
}
}
}
}
和
public class BurbujaChica extends Sprite
{
public var velocidad:Number = Math.random();
public var escala:Number = Math.random()*.5+.5;
public var tiempoMaximo:int = 3;
public var posX:Number = Math.random()*Diversion_bajo_el_agua.ancho_st;
public function BurbujaChica()
{
x = posX
var burbuja:Burbuja_ = new Burbuja_();
burbuja.scaleX = burbuja.scaleY = escala;
var desde:Number = burbuja.height/2;
var hasta:Number = -Diversion_bajo_el_agua.alto_st-burbuja.height/2;
trace("va desde "+desde+" hasta "+hasta);
var tw:Tween = new Tween(burbuja,"y",Regular.easeIn,desde,hasta,(velocidad*tiempoMaximo)+5,true);
tw.addEventListener(TweenEvent.MOTION_FINISH,_chauBurbuja);
addChild(burbuja);
}
private function _chauBurbuja(e:TweenEvent):void {
this.parent.removeChild(this);
BurbujasBack.burbujasActuales--;
}
}