我对大家有一个新问题。
我想知道您是否可以在Lua中进行枚举(我不确定这是否是正确的名称)。
我可以解释的最好方法是,如果我向您展示使用PAWN的示例(如果您知道C类型语言,那么这是有道理的)。

#define MAX_SPIDERS 1000

new spawnedSpiders;

enum _spiderData {
    spiderX,
    spiderY,
    bool:spiderDead
}

new SpiderData[MAX_SPIDERS][_spiderData];

stock SpawnSpider(x, y)
{
    spawnedSpiders++;
    new thisId = spawnedSpiders;
    SpiderData[thisId][spiderX] = x;
    SpiderData[thisId][spiderY] = y;
    SpiderData[thisId][spiderDead] = false;
    return thisId;
}
这就是PAWN中的样子,但是我不知道如何在Lua中做到这一点……这就是我到目前为止所得到的。
local spawnedSpiders = {x, y, dead}
local spawnCount = 0

function spider.spawn(tilex, tiley)
    spawnCount = spawnCount + 1
    local thisId = spawnCount
    spawnedSpiders[thisId].x = tilex
    spawnedSpiders[thisId].y = tiley
    spawnedSpiders[thisId].dead = false
    return thisId
end
但是显然这会带来错误,你们中的任何人都知道这样做的正确方法吗?谢谢!

最佳答案

像这样吗?

local spawnedSpiders = {}
local spawnCount = 0

function spawn_spider(tilex, tiley)
    spawnCount = spawnCount + 1
    spawnedSpiders[spawnCount] = {
      x = tilex,
      y = tiley,
      dead = false,
    }
    return spawnCount
end

编辑:于浩比我快:)

09-27 20:24