Я работаю над платформерной игрой с боковой прокруткой. Из-за этого у меня есть класс, который выступает в качестве пола. У меня также есть класс, представляющий врагов.
У меня проблемы с передачей параметра в конструктор пользовательского класса. Класс (SkullDemon.as) расширяет MovieClip. Я пытаюсь передать экземпляр (с именем «floorL1») класса клиента с именем «FloorLevel1». «FloorLevel1» также расширяет MovieClip (у меня нет записанного файла .as для «FloorLevel1»; я только что экспортировал Floor MovieClip в этот класс).
Я пытаюсь передать экземпляр «FloorLevel1», чтобы объект «SkullDemon» мог приземлиться на пол, как в платформере.
Мой основной класс называется "TME2_Main". Это класс, из которого я пытаюсь передать экземпляр «floorL1» классу «SkullDemon». Вот как я пытаюсь создать экземпляр Skull Demon и передать «floorL1» его конструктору:
skullD1 = new SkullDemon(floorL1);
Я пытаюсь создать SkullDemon в конструкторе "TME2_Main's".
Вот конструктор класса "SkullDemon":
// Constructor (takes in Level 1's floor variable as an argument
public function SkullDemon(floorL1:FloorLevel1) {
//public function SkullDemon() {
// Move the Skull Demon as soon as it is created
moveSkullDemon();
}
Я получаю два типа ошибок при запуске .swf:
ArgumentError: Error #1063: Argument count mismatch on SkullDemon(). Expected 1, got 0.
at flash.display::Sprite/constructChildren()
at flash.display::Sprite()
at flash.display::MovieClip()
at TME2d_Main()
TypeError: Error #2007: Parameter child must be non-null.
at flash.display::DisplayObjectContainer/addChild()
at flash.display::Stage/addChild()
at TME2d_Main()
Что я здесь не так делаю? Я потратил некоторое время на поиск решений (включая перемещение кода за пределы конструктора TME2_Main), но пока мне ничего не помогло.