遊戲開發實習筆記 Lua中獲取table長度的坑

2021-10-11 18:38:59 字數 782 閱讀 6219

在lua中表的索引值預設是從1開始的,在用鍵值對的方式新增資料時預設從1向上累加作為key值。

local objids =

print

(#objids)

-- 3

上面**可以獲得表的長度為4,沒有問題。

local objids =

objids[5]

="e"

print

(#objids)

-- 3

可以看到向表中新增乙個5為key的值後,列印的長度依舊是3而不是4,因為最後的key和前乙個不是連續的。

可以將從1為索引開始的值看作乙個陣列,斷開後的資料就是單獨的map。

計算長度時只會計算前面一截陣列的長度,如果連上了則一起計算。

local objids =

objids[1]

="e"

objids[2]

="e"

objids[3]

="e"

objids[5]

="e"

print

(#objids)

-- 3

objids[4]

="e"

print

(#objids)

-- 5

遊戲開發世界的Lua語言

現實中的遊戲開發常常面臨兩種互相矛盾的壓力,一方面需要測試和驗證新想法,另一方面又需要快速開發並且按時交付。把指令碼語言整合到遊戲專案中可以提公升團隊的開發效率,並且可以很好地擴充套件原生編譯語言的能力。lua在遊戲開發的許多基礎領域中都表現得很出色。在遊戲開發團隊中,可能有許多成員都使用lua來完...

lua 遊戲開發 傳送)傳送陣例項

teleport moveto teleport 在同乙個場景裡的玩家會受到遊戲迴圈的影響,可以通過teleport的方式,在不同場景制定不同的自然法則,燈光等。moveto 在同乙個place下的移動 這裡將說明如何建立乙個不同的場景並傳送。也會對簡單帶 teleport的指向是place的話,玩...

遊戲演算法中lua指令碼詳解

此外,函式本身也是乙個變數,比如 dp dp cat test.lua local mylen mylen.len3 function x,y,z return math.sqrt x x y y z z endmylen.len2 function x,y return math.sqrt x x...