HaxeFlixel 意想不到的 & (amp) 角色

HaxeFlixel Unexpected & (amp) Character

我正在尝试让 HaxeFlixel 正常工作。它适用于 lime test neko 但不适用于 lime test neko -debug。它说:

/usr/share/haxelib/flixel/4,6,0/flixel/effects/particles/FlxEmitter.hx:28: characters 34-35 : Unexpected &

下面是 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;

这是我的机器规格:

如您所见,代码已经检查了 Haxe 版本,以便与 Haxe 3.4 和 4 兼容。这是必要的,因为新的 type parameter constraint 语法不向后兼容。

考虑到这一点,唯一的解释是您使用的是没有引入新 intersection type syntax using & yet. The first release with this feature was Haxe 4.0.0-preview.4. I suggest you try updating to the latest release, Haxe 4.0.0-rc.1.

的 Haxe 4 版本

Haxe Compiler 4.0.0

请注意,在 Haxe 4.0.0-preview.4 之前,Haxe didn't mention 关于 haxe --version 预览版的所有内容。因此,虽然它可能 看起来 就像您安装了 4.0.0 的最终版本,但实际上还没有发生,它是早期预览版本之一。