分数未在AS3中显示

时间:2017-02-02 20:43:32

标签: actionscript-3

我的代码大部分都有效。我知道弹药正在被正确跟踪,因为当弹药耗尽时我可以让它游戏结束。我的问题是得分和剩余的弹药都没有显示出来。我不确定我错过了什么。这是我与该问题相关的代码。

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);
        }

    }

}

1 个答案:

答案 0 :(得分:1)

请检查项目中GUI编辑器中showScoreshowShots文本字段中的字体嵌入属性是否为真(已选中)。如果未在GUI中添加任何文本字段,请使用此问题AS3 - TextField: Embedded font中的方法开始嵌入字体,或者在初始化的某个位置为任一文本字段设置正确的defaultTextFormat