我有一个我在桌面游戏中使用的Lua脚本,基本上你有一个"令牌"代表一个生物。当它死亡时,它覆盖了一个图像(我在.xml脚本中指出),其图像像血咒或墓碑等。
如何制作它以便随机化哪个图像被叠加?
下面的行(178-184)是告诉它的主要部分"将图像X放在令牌上#34;。我想让它在5个不同的图像之间随机化..
if not widgetDeathIndicator then
widgetDeathIndicator = tokenCT.addBitmapWidget("token_dead");
widgetDeathIndicator.setBitmap("token_dead");
widgetDeathIndicator.setName("deathindicator");
widgetDeathIndicator.setTooltipText(sName .. " has fallen, as if dead.");
widgetDeathIndicator.setSize(nWidth-20, nHeight-20);
end
token_dead
是当前使用的图像的名称,在.xml中指向.png
答案 0 :(得分:2)
是的,您可以使用math.random。
local images = {
'token_dead',
'another_image_name',
'yet_another_image_name',
}
local image = images[math.random(#images)]
math.random(n)
将返回1和n之间的伪随机整数,因此如果传入#images
(images
表的长度),您将获得有效的伪随机images
的表索引。
为了获得更好的随机性,您应该在调用math.random之前设置math.randomseed。 (如果你没有设置它,那么math.random每次都会返回相同的"随机"数字序列。)