Actionscript 3 MovieClip未显示正确的帧

Actionscript 3 MovieClip未显示正确的帧,actionscript-3,flash,flash-cs6,Actionscript 3,Flash,Flash Cs6,我目前有一个实例名为“powerbar”的MovieClip。它总共有6帧,根据特定的标准,我希望它显示一个特定的帧。这是我的密码: if(char.throwing) { var pressLength:Number = getTimer()-startPress; if(pressLength >= 400) { powerbar.gotoAndPlay(6);

我目前有一个实例名为“powerbar”的MovieClip。它总共有6帧,根据特定的标准,我希望它显示一个特定的帧。这是我的密码:

            if(char.throwing) {
            var pressLength:Number = getTimer()-startPress;

            if(pressLength >= 400) {
                powerbar.gotoAndPlay(6);
                trace("more than 400 " +String(powerbar.currentFrame));
            }
            else if(pressLength >= 300) {
                powerbar.gotoAndPlay(5);
                trace("more than 300 " +String(powerbar.currentFrame));
            }
            else if(pressLength >= 200) {
                powerbar.gotoAndPlay(4);
                trace("more than 200 " +String(powerbar.currentFrame));
            }
            else if(pressLength >= 100) {
                powerbar.gotoAndPlay(3);
                trace("more than 100 " +String(powerbar.currentFrame));
            }
            else if(pressLength >= 50) {
                powerbar.gotoAndPlay(2);
                trace("more than 50 " +String(powerbar.currentFrame));
            }
            else if(pressLength >= 25) {
                powerbar.gotoAndPlay(1);
                trace("more than 25 " +String(powerbar.currentFrame));
            }
            else if(pressLength >= 0) {

                powerbar.gotoAndPlay(1);
            }
它编译得很好,在运行时没有错误,我甚至检查了if语句是否正常工作,这取决于我在这里需要什么,并且我确保引用了正确的电影剪辑(我跟踪了电影剪辑的x位置,它是正确的)。我甚至通过跟踪(power bar.currentFrame)来跟踪它是否要到达那个帧,它显示它已经到达那个帧,尽管它在动画中没有显示我也尝试了gotoAndStop,但仍然没有成功…请帮助

var pressLength:Number=getTimer()-startPress;
        var pressLength:Number = getTimer()-startPress;

        //enterFrame/or keypress  function here:)
        if(char.throwing) {
        throwing_function();
        }

        function throwing_function (){
        if(pressLength >= 25 && pressLength<=49) { // check both conditions
            powerbar.gotoAndStop(2);
            trace("more than 25 but less than 50")
            trace(pressLength.toString) // i think
        }
        else if(pressLength >= 50 && pressLenght<=74) {check both conditions are good
            powerbar.gotoAndStop(3);
            trace("more than 50 but less than 75 ")
       }
       }

       etc......
//在此处输入帧/或按键功能:) if(字符抛出){ 抛出函数(); } 函数(){
如果(pressLength>=25&&pressLength=50&&pressLenghtgotoAndStop而不是gotoAndPlay?我一开始就尝试了,但没有成功,现在我只是更改了它,但仍然没有成功。你的错误超出了代码范围。这意味着你可能做了其他错误的事情。很可能你误解了动画在fla中的工作方式或者你开始制作动画时认为会发生什么。或者powerbar没有链接到正确的movieclip,或者presslength没有在两次调用之间重置,或者完全不同的东西是错误的。我想说的是,代码没有问题,因此没有人能够帮助你实现你想要的,因为你的解释是错误的操作。如果pressLength为负数会发生什么情况?您没有处理这种情况。跟踪startPress和pressLength只是为了确保。此外,正如Lee Burrows指出的,gotoAndStop()具有您想要的行为。尝试在每个帧上插入关键帧以打破二者之间的关系。