Прежде всего позвольте мне сказать, что я совершенно новичок в разработке флэш, но не ООП. Моя задача - создать флэш-игру в реальном времени (то есть, используя игровой цикл) в объектно-ориентированной манере. Я следил за инструкциями в Интернете, и я думаю, что у меня есть основы, но мой спрайт игрока не появляется.
Я импортировал изображение во 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
(правильную терминологию?) Из моей библиотеки на сцену, появляется спрайт игрока ... так что я знаю, что к нему прикреплено изображение.
Кто-нибудь знает, что может пойти не так? Заранее спасибо:)