Хобрук: Ваш путь к мастерству в программировании

Оценка не отображается в 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);
        }

    }

}
02.02.2017

  • В каком месте вы добавили TextFields showScore и showShots к DisplayList? 03.02.2017
  • Ваш код не кажется полным. Привязан ли этот код к библиотечному объекту FlashPro? 03.02.2017

Ответы:


1

Пожалуйста, проверьте, установлено ли свойство Font Embedding в обоих текстовых полях showScore и showShots в графическом редакторе вашего проекта. Если какое-либо текстовое поле не добавлено в графический интерфейс, используйте подход в этом вопросе AS3 - TextField: Embedded font, чтобы начать встраивание шрифтов, или установите правильный defaultTextFormat в любом текстовом поле где-нибудь при инициализации.

10.02.2017
Новые материалы

Декларативное и функциональное программирование в стиле LINQ с использованием JavaScript с использованием каррирования и генератора ...
LINQ - одна из лучших функций C #, которая обеспечивает элегантный способ написания кода декларативного и функционального стиля, который легко читать и понимать. Благодаря таким функциям ES6,..

Структуры данных в C ++ - Часть 1
Реализация общих структур данных в C ++ C ++ - это расширение языка программирования C, которое поддерживает создание классов, поэтому оно известно как C с классами . Он используется для..

Как я опубликовал свое первое приложение в App Store в 13 лет
Как все началось Все началось три года назад летом после моего четвертого класса в начальной школе. Для меня, четвертого класса, лето кажется бесконечным, пока оно не закончится, и мой отец..

Что в лицо
Очерк о возвращении физиогномики и о том, почему мы должны это приветствовать. История начинается со странной науки. Р. Тора Бьорнсдоттир, Николас О. Рул. Видимость социального класса по..

Почему шаблоны проектирования и почему нет?
Сложность — мать всех проблем в программировании. Программное обеспечение должно быть разработано с точки зрения того, кто его поддерживает, а не того, кто его пишет, потому что программное..

Создание дизайна обуви с помощью машинного обучения
Обувь. Что подождать? Я думал, что речь пойдет о машинном обучении! Ну это так. Если бы вы пошли на Amazon, сколько обуви вы бы нашли? Наверное, много, не так ли? Но много ли в них..

GraalVM в 2022 году: итоги года
2022 год был очень продуктивным для проекта и сообщества GraalVM. Вместе мы разработали множество новых функций, выпустили GraalVM для последних версий Java и новых платформ и увидели несколько..