Enums Corona SDK的速度是否足够快,可以玩类似矮人堡垒的游戏?

Enums Corona SDK的速度是否足够快,可以玩类似矮人堡垒的游戏?,enums,lua,coronasdk,Enums,Lua,Coronasdk,我想做一个像矮人堡垒一样的游戏。电晕SDK足够快吗?如何存储每个块的数据。既然我不能在Lua中创建枚举,我该如何定义块的类型?为什么不能在Lua中创建枚举?只需使用一个简单的表格 brickType = { A = 1, B = 2, C = 3, } myFristBrick = { weight = 500, volume = 50, type = brickType

我想做一个像矮人堡垒一样的游戏。电晕SDK足够快吗?如何存储每个块的数据。既然我不能在Lua中创建枚举,我该如何定义块的类型?

为什么不能在Lua中创建枚举?只需使用一个简单的表格

brickType = { A = 1,
              B = 2,
              C = 3,
}

myFristBrick = { weight = 500,
                 volume = 50,
                 type = brickType.C
}

可以使用Lua表对非常复杂的数据结构进行建模。因此,存储砖块数据是您最不应该关心的问题。

我将其用于元表,以模拟枚举类型

local enumType_MT = {
    __newindex = function (t, k, v)
        if t [k] then
            print ('redeclaring enum type ' .. k .. ' not permited')
        else
            rawset (t, k, {})
            local c
            for c = 1, #v do
              rawset (t [k], v[c], c)
              rawset (t[k], c, v[c])
            end
         end
    end
}

local myEnumTypes = {}
setmetatable( myEnumTypes, enumType_MT )

myEnumTypes ['foo']  = {'brick_A', 'brick_B', 'brick_C'}
myEnumTypes ['doo']  = {'brick_E', 'brick_F', 'brick_G'}

myVar = myEnumTypes['foo'].brick_A
print (myVar) -- outputs 1
myVar = myEnumTypes['foo']['brick_C']
print (myVar) -- outputs 3
myVar = myEnumTypes['foo'][2]
print (myVar) -- outputs 'brick_B'

myVar = myEnumTypes['doo'].brick_A
print (myVar) -- outputs nil as brick_A not in doo
myVar = myEnumTypes['doo']['brick_C']
print (myVar) -- outputs nil as brick_C not in doo
myVar = myEnumTypes['doo'][2]
print (myVar) -- outputs 'brick_F'

如果你不知道如何在Lua中存储信息,我建议你在编写整个游戏之前先学习Lua的基本知识。如果科罗纳足够快,这取决于你用的机器。只需在网上搜索用Corona制作的游戏并进行比较。