我刚开始学习电晕和lua,我的第一个项目是制作一个小骰子游戏,我刚刚开始!这是骰子对象...
--declare table + metatable
local dice = {}
local dice_mt = {__index = dice}
--CONSTRUCTOR
function dice.new(ypos, xpos)
local newdice = {xpos = xpos, ypos = ypos,dicetext = display.newText("X", 50*xpos , 50*ypos , nil, 50)}
--dicetext = display.newText(facevalue, 50*xpos , 50*ypos , nil, 50)
return setmetatable(newdice, dice_mt)
end
--rolldice function
function dice:rolldice()
self.dicetext.text = math.random(0,6)
end
return dice
游戏是有一个可以滚动的 25 个骰子的网格(上面有 rolldice 功能)这是我的 main.lua
display.setStatusBar(display.HiddenStatusBar)
local diceclass = require ("dice")
for i = 1, 5, 1 do
local die = diceclass.new(i,i)
i = i+1
end
die:rolldice()
我正在尝试以编程方式生成骰子网格(atm 我只是在对角线上生成 5 个骰子(只是文本)。到目前为止很好,但我的问题是运行 rolldice 函数。它在只有 1 个骰子但当有更多时不是。我猜问题是我有所有这些类的实例具有相同的名称。有没有办法在我的 for 循环中创建它们时以编程方式给它们不同的名称?或者有没有有更好的方法吗?谢谢!