2017-02-02 6 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をいずれかの初期化時にテキストフィールドに設定してください。

関連する問題