Как устранить эту ошибку при использовании HaxePunk во FlashDevelop?
Я пытался исследовать это и использовать готовые шаблоны, но безрезультатно. Я просто хочу получить настоящий базовый проект HaxePunk, работающий с FlashDevelop, с учетом создания Flash-игр. Возвращаясь к реальным базовым учебникам и тому подобному, это мой код:
import com.haxepunk.Engine;
import com.haxepunk.HXP;
class Main extends Engine
{
/*override public function init()
{
#if debug
HXP.console.enable();
#end
//HXP.scene = new MainScene();
}*/
public static function main() { new Main(); }
}
Я не уверен, скомпилировать ли это как проект Flash Player или проект NME (я действительно новичок в этом). Если я пытаюсь скомпилировать его как проект Flash Player, я получаю эту ошибку во время выполнения:
TypeError: Error #2007: Parameter type must be non-null.
at flash.events::EventDispatcher/addEventListener()
at flash.display::Stage/addEventListener()
at com.haxepunk.utils::Input$/enable()
at com.haxepunk::Engine/onStage()
at com.haxepunk::Engine()
at Main()
at Main$/main()
at boot_0b9a/init()
at flash::Boot/start()
at boot_0b9a()
Если я пытаюсь скомпилировать его как проект NME, я получаю эту ошибку во время компиляции:
Error: You must have a "project.xml" file or specify another valid project file
when using the 'build' command
Я не нахожу много информации об этом. Что может быть не так здесь? Благодарю.
1 ответ
Вы должны сделать проект OpenFL, а не флэш, потому что HaxePunk использует OpenFL для рендеринга.
Чтобы заставить flashdevelop работать с проектом HaxePunk, я обычно делаю так:
- Создайте новый пустой проект openfl во FlashDevelop
- Создайте проект haxepunk в командной строке (это должно быть "haxepunk new name")
- Заменить файлы из проекта haxepunk на один из flashdevelop
- "Исправить, что не так"
Номер 4 обычно связан с переименованием файлов, iirc в файлах проекта haxepunk имеет имя, отличное от имени во flashdevelop, поэтому вам придется его изменить