-1
我刚刚开始学习corona和lua,我的第一个项目是制作一个小骰子游戏,并且我刚开始学习!继承人的骰子对象...corona sdk。刚刚开始使用corona和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循环中创建它们?或者有更好的方法来做到这一点?谢谢!