Lua随机图像

我有一个Lua脚本,我正在使用它在桌面游戏中,基本上你有一个代表生物的“令牌”。当它死亡时,它会覆盖一个图像(我在XML脚本中指定)与一个像血液喷溅或墓碑等的图像

如何使它随机化覆盖哪个图像?

脚本在这里。

下面的行(178-184)是告诉它 “将图像X放在令牌上”的主要部分。我想它在5个不同的图像之间随机化。

if not widgetDeathIndicator then
    widgetDeathIndicator = tokenCT.addBitmapWidget("token_dead");
    widgetDeathIndicator.setBitmap("token_dead");
    widgetDeathIndicator.setName("deathindicator");
    widgetDeathIndicator.setTooltipText(sName .. "已倒下,就像死了一样。");
    widgetDeathIndicator.setSize(nWidth-20, nHeight-20);
end

token_dead 是当前使用的图像的名称,在 .xml 中指向一个 .png

点赞
用户5287638
用户5287638

是的,你可以使用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将每次返回相同的“随机”数列。)

2017-06-22 01:48:01