"尝试索引字段'颜色'(零值)" 在 LUA 中访问数组时



所以我决定在 forums.roblox.com 死的时候尝试为roblox挑选LUA,如果有更好的地方可以问,请告诉我。

无论如何,我正在尝试使一个块在几种预定义的颜色之间随机切换。我尝试这样做的方法是用颜色创建一个数组,然后使用 math.random 在数组中选择一个位置设置为颜色,所有这些都在 1==1 循环中每 1 秒重复一次。

这是我的代码

Colors = {'Red', 'Orange', 'Yellow', 'Camo', 'Blue', 'Pink', 'Purple'}
while(1 == 1)
do
    script.Parent.BrickColor = BrickColor.Colors[math.random(1,7)]
    wait(1)
end

每当我运行它时,我都会收到错误"Workspace.Part.Script:5:尝试索引字段'颜色'(零值(">

但如果我尝试

Colors = {'Red', 'Orange', 'Yellow', 'Camo', 'Blue', 'Pink', 'Purple'}
while(1 == 1)
do
    --script.Parent.BrickColor = BrickColor.Colors[math.random(1,7)]
    Colors[math.random(1,7)]
    wait(1)
end

它将每秒打印出一种颜色。

就像我说的,我才刚刚开始,所以这可能是愚蠢的事情。

脚本。Parent.BrickColor = BrickColor.Colors[math.random(1,7(]

您正在引用 BrickColor 中的字段Colors,而您应该只引用您之前创建的变量Colors

script.Parent.BrickColor = Colors[math.random(1,7)]

好的,所以在尝试保罗建议将砖颜色线更改为

script.Parent.BrickColor = Colors[math.random(1,7)]

我收到错误

bad argument #3 to 'BrickColor' (BrickColor expected, got string)

经过更多的搜索,我发现我需要使用BrickColor.new(color(来更改颜色。这就是代码最终的样子

Colors = {'Red', 'Orange', 'Yellow', 'Camo', 'Blue', 'Pink', 'Purple'}
while(1 == 1)
do
    script.Parent.BrickColor = BrickColor.new(Colors[math.random(1,7)])
    wait(1)
end

相关内容

  • 没有找到相关文章

最新更新