AS3 - 动态添加的Tweens突然停止

时间:2013-12-13 14:58:00

标签: actionscript-3 flash-builder tween

我正在使用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--;
    }
}

0 个答案:

没有答案