在数组中存储对象 (Haxe)

Storing objects in array (Haxe)

我将如何着手将对象的新实例排序到 Haxe 中的数组中?

例如,我有一个 class 叫做武器,在播放器 class 中我给出了一个数组清单。 那么我该如何存储呢?

private void gun:Weapon

gun = new Weapon; //into the array

发现答案必须这样写

私有变量 inventory:Array;

武器是 class 的名字。

我想你正在寻找这个:

private var inventory:Array<Weapon>;

这是一个 Weapon 类型的数组。 要向其中添加内容,请使用 push(),如本例所示:

class Test {
    static function main() new Test();

    // create new array
    private var inventory:Array<Weapon> = [];

    public function new() {
        var weapon1 = new Weapon("minigun");
        inventory.push(weapon1);

        var weapon2 = new Weapon("rocket");
        inventory.push(weapon2);

        trace('inventory has ${inventory.length} weapons!');
        trace('inventory:', inventory);
    }
}

class Weapon {
    public var name:String;
    public function new(name:String) {
        this.name = name;
    }
}

演示:http://try.haxe.org/#815bD