2017-02-02 1 views
0

이 코드는 대부분 작동합니다. 나는 탄약이 다되었을 때 게임이 끝나기 때문에 탄약이 올바르게 추적되고 있음을 안다. 내 문제는 스코어도 남은 탄약도 표시되지 않는다는 것입니다. 내가 뭘 놓쳤는 지 모르겠다. 이 문제와 관련된 코드는 다음과 같습니다.AS3에 점수가 표시되지 않습니다.

package { 
    import flash.display.*; 
    import flash.events.*; 
    import flash.utils.Timer; 
    import flash.text.TextField; 
    import flash.media.Sound; 
    import flash.media.SoundChannel; 

    public class AirRaid extends MovieClip { 
     private var aagun:AAGun; 
     private var airplanes:Array; 
     private var bullets:Array; 
     public var leftArrow, rightArrow:Boolean; 
     private var nextPlane:Timer; 
     private var shotsLeft:int; 
     private var shotsHit:int;  

     public function startAirRaid() { 
      // init score 
      shotsLeft = 20; 
      shotsHit = 0; 
      showGameScore(); 
     } 

     public function checkForHits (event:Event) { 
      for(var bulletNum:int = bullets.length - 1; bulletNum >= 0; bulletNum--) { 
       for (var airplaneNum:int = airplanes.length - 1; airplaneNum >= 0; airplaneNum--) { 
        if (bullets[bulletNum].hitTestObject(airplanes[airplaneNum])) { 
         airplanes[airplaneNum].planeHit(); 
         bullets[bulletNum].deleteBullet(); 
         shotsHit++; 
         showGameScore(); 
         break; 
        } 
       } 

       if ((shotsLeft == 0) && (bullets.length == 0)) { 
        endGame(); 
       } 

      } 

     } 

     public function fireBullet() { 
      if (shotsLeft <= 0) return; 
      var b:Bullet = new Bullet(aagun.x, aagun.y, -300); 
      addChild(b); 
      bullets.push(b); 
      shotsLeft--; 
      showGameScore(); 
     } 

     public function showGameScore() { 
      showScore.text = String("Score: " + shotsHit); 
      showShots.text = String("Shots Left: " + shotsLeft); 
     } 

    } 

} 
+2

'TextFields'** showScore ** 및 ** showShots **를 'DisplayList'에 추가 한 장소는 어디입니까? – ElChiniNet

+1

코드가 완전하지 않은 것 같습니다. 이 코드가 FlashPro 라이브러리 객체에 첨부되어 있습니까? – BadFeelingAboutThis

답변

1

글꼴이 모두 showScoreshowShots 텍스트 필드에 속성을 포함하기 있는지 확인하십시오 프로젝트에서 GUI 편집기에서 진정한 (체크)이다. 두 텍스트 필드 중 하나가 GUI에 추가되지 않은 경우이 질문 AS3 - TextField: Embedded font의 방법을 사용하여 글꼴 포함을 시작하거나 defaultTextFormat 텍스트 필드를 초기화시 어딘가에 설정하십시오.

관련 문제