2013-04-28 69 views
0

我目前有一个带有实例名称“powerbar”的MovieClip。它总共有6个帧,并且根据特定的标准,我希望它显示特定的帧。这里是我的代码:MovieClip没有显示正确的帧

  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,它仍然没有工作...请帮助!

+1

gotoAndStop而不是gotoAndPlay? – 2013-04-28 18:50:31

+0

我在一开始就试过,它没有工作,我现在只是改变了它,但它仍然不起作用 – Erika 2013-04-28 19:01:24

+0

你的错误在代码之外。意思是你可能做了其他的事情是错误的。您很可能误解了动画在Flash中的工作方式。或者当你开始动画时你认为会发生什么。或者powerbar没有链接到正确的动画片段,或者presslength不会在调用之间重置,或者完全不同的是错误的。我想说的是,该代码没有任何问题,因此没有人能够帮助你实现你想要的解释。 – 2013-04-28 22:27:07

回答

0
 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...... 

但有更好的方法可以解决这个,我想我会用你的主题

坚持通过检查你的问题只有一个条件,我犯了这个错误很长一段时间前的一个进度条装资产。