Как устранить эту ошибку при использовании 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, я обычно делаю так:

  1. Создайте новый пустой проект openfl во FlashDevelop
  2. Создайте проект haxepunk в командной строке (это должно быть "haxepunk new name")
  3. Заменить файлы из проекта haxepunk на один из flashdevelop
  4. "Исправить, что не так"

Номер 4 обычно связан с переименованием файлов, iirc в файлах проекта haxepunk имеет имя, отличное от имени во flashdevelop, поэтому вам придется его изменить

Другие вопросы по тегам