HaxeFlixel Неожиданный & (amp) Характер - PullRequest
0 голосов
/ 21 февраля 2019

Я пытаюсь заставить работать HaxeFlixel.Он работает с lime test neko, но не работает с lime test neko -debug.Там написано:

/ usr / share / haxelib / flixel / 4,6,0 / flixel / эффекты / частицы / FlxEmitter.hx: 28: символы 34-35: неожиданно &

И вот как файл FlxEmitter.hx выглядит вокруг строки 28:

typedef FlxEmitter = FlxTypedEmitter<FlxParticle>;

#if (haxe_ver >= "4.0.0")
class FlxTypedEmitter<T:FlxSprite & IFlxParticle> extends FlxTypedGroup<T> 
#else
class FlxTypedEmitter<T:(FlxSprite, IFlxParticle)> extends FlxTypedGroup<T>
#end
{
    /**
     * Set your own particle class type here. The custom class must extend `FlxParticle`. Default is `FlxParticle`.
     */
    public var particleClass:Class<T> = cast FlxParticle;

Вот мои технические характеристики машины:

  • Ubuntu 16.04 LTS, 64bit
  • Инструменты командной строки Lime (7.2.1)
  • Инструменты командной строки HaxeFlixel (1.4.3)
  • Установленная версия Flixel: 4.6.0
  • Haxe Compiler4.0.0
  • OpenFL версия 8.8.0

1 Ответ

0 голосов
/ 21 февраля 2019

Как видите, код уже проверяет версию Haxe, чтобы быть совместимым с Haxe 3.4 и 4. Это необходимо, потому что новый синтаксис ограничения типа не обратно совместим.

Учитывая это, единственное объяснение состоит в том, что вы используете сборку Haxe 4, в которой еще не введен новый синтаксис типа пересечения с использованием &.Первый выпуск с этой функцией был Haxe 4.0.0-preview.4.Я предлагаю вам попробовать обновить до последней версии, Haxe 4.0.0-rc.1 .

Haxe Compiler 4.0.0

Обратите внимание, чтоHaxe не упоминал ничего о предварительных выпусках в haxe --version до Haxe 4.0.0-preview.4.Так что, хотя он может выглядеть , как будто у вас установлена ​​последняя версия 4.0.0, этого на самом деле еще не было, и это одна из ранних предварительных сборок.

...