Lua随机图像

时间:2017-06-22 00:56:52

标签: lua

我有一个我在桌面游戏中使用的Lua脚本,基本上你有一个"令牌"代表一个生物。当它死亡时,它覆盖了一个图像(我在.xml脚本中指出),其图像像血咒或墓碑等。

如何制作它以便随机化哪个图像被叠加?

The Script is here.

下面的行(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

1 个答案:

答案 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之间的伪随机整数,因此如果传入#imagesimages表的长度),您将获得有效的伪随机images的表索引。

为了获得更好的随机性,您应该在调用math.random之前设置math.randomseed。 (如果你没有设置它,那么math.random每次都会返回相同的"随机"数字序列。)