簡體   English   中英

Corona SDK是否足夠快以適合矮人堡壘之類的游戲?

[英]Is Corona SDK fast enough for a Dwarf Fortress like game?

我想做一個像游戲一樣的矮人要塞。 Corona SDK是否足夠快? 我將如何存儲每個單獨塊的數據。 由於我無法在Lua中進行枚舉,我將如何定義塊的類型?

您為什么不能在Lua中進行枚舉? 只需使用一個簡單的表。

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

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

您可以使用Lua表對非常復雜的數據結構進行建模。 因此,存儲您的實體數據是您最不應該關注的。

我將其與元表一起使用,以模擬enumTypes

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'

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM