可以用math.random设置方块颜色吗?

我正在玩roblox,我想编写一个脚本,在按下“Del”键时,它会从1-3选择一个随机数。我有3个部分,一个名为one,一个名为two,一个名为three。无论“math.random”选择哪个数字,它都会将该数字对应的砖块设置为青绿色。因为它以2,3,1的模式进行,所以这个脚本无法实现我想要的随机效果。我试过8次,每次都以完全相同的模式进行。无论如何,以下是我的脚本:

local choices = { game.Workspace.one.Part, game.Workspace.two.Part, game.Workspace.three.Part }
local space = game.Workspace
local P1 = space.one
local P2 = space.two
local P3 = space.three
local uis = game:GetService("UserInputService")
local player = game.Players.LocalPlayer

uis.InputBegan:Connect(function(input)
    if input.KeyCode == Enum.KeyCode.Delete then
        local index = math.random(#choices)
        choices[index].BrickColor = BrickColor.new(0, 255, 0)
        wait(15)
        choices[index].BrickColor = BrickColor.Black()
    end
end)

原文链接 https://stackoverflow.com/questions/70851872

点赞
stackoverflow用户2858170
stackoverflow用户2858170

在 Lua < 5.4 中,需要自己设置随机种子。否则,每次执行脚本时,math.random会创建相同的随机数序列。

一种常见的获取新种子的方法是将系统时间用作种子值。

在脚本开始时调用math.randomseed(os.time())

参见https://developer.roblox.com/en-us/api-reference/lua-docs/math

实际上,这是你上一个问题的答案的一部分。(Roblox的Lua源自Lua 5.1)

请仔细阅读回答。

2022-01-25 18:02:23