Спрайт игрока не появляется - PullRequest
0 голосов
/ 19 февраля 2012

Прежде всего позвольте мне сказать, что я совершенно новичок в разработке флэш, но не ООП. Моя задача - создать флэш-игру в реальном времени (то есть, используя игровой цикл) в объектно-ориентированной манере. Я следил за инструкциями в Интернете, и я думаю, что у меня есть основы, но мой спрайт игрока не появляется.

Я импортировал изображение во Flash, а затем преобразовал его в символ с именем Player, и теперь это видеоклип. Я экспортировал его для ActionScript и вызвал класс com.Player.

Кроме того, я установил класс моего документа на com.Engine (именно здесь я планирую сделать свой игровой цикл и вызывать методы для других классов).

Затем я создал каталог с именем com в том же каталоге, что и мой .fla. Внутри этого каталога я сделал Engine.as и Player.as, и вот код для них обоих:

package com {
    import flash.display.MovieClip;
    import flash.display.Stage;

    public class Engine extends MovieClip {
        public function Engine() {
            // Create a player instance
            var player:Player = new Player();
            stage.addChild(player);
            player.x = stage.stageWidth / 2;
            player.y = stage.stageHeight / 2;

        }
    }
}

-

package com {
    import flash.display.MovieClip;

    public class Player extends MovieClip {
        public function Player() {

        }
    }
}

Согласно тому, что я знаю, это должно заставить игрока появляться в центре экрана, когда я его запускаю, но это не так. Я убедился, что класс и конструктор Engine вызывается с использованием trace("hello world"), и я получаю этот вывод. Я также знаю, что конструктор для класса Player вызывается с использованием того же метода. Я просто не понимаю, почему плеер не появляется на экране.

Если я перетаскиваю символ Player (правильную терминологию?) Из моей библиотеки на сцену, появляется спрайт игрока ... так что я знаю, что к нему прикреплено изображение.

Кто-нибудь знает, что может пойти не так? Заранее спасибо:)

1 Ответ

0 голосов
/ 20 февраля 2012

есть ли у вас что-то в спрайте плеера?если вы создали спрайт в файле .fla или что-то еще, вы должны расширить это имя так:

открытый класс Player расширяет PlayerSpriteNameThatIsInYourFla

или вам следует попробовать нарисовать некоторую графику в вашем классе проигрывателяпроверьте, действительно ли ваш класс показывает:

public class Player extends MovieClip()
{
    this.graphics.beginFill(0x00FF00);
    this.graphics.drawRect(0,0,100,100);
    this.graphics.endFill();
} 

и убедитесь, что у вас есть все добавленные правильные импорта:)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...