所以我决定尝试为roblox挑选LUA,因为forums.roblox.com已经死了,如果有更好的地方可以请你告诉我。
无论如何,我试图让一个块在几种预定义的颜色之间随机变换。我试图这样做的方法是使用颜色制作一个数组,然后使用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' (零值)"
但如果我尝试
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
它会每秒打印一种颜色。
就像我说我刚开始所以它可能是愚蠢的。
答案 0 :(得分:0)
script.Parent.BrickColor = BrickColor.Colors [math.random(1,7)]
您在Colors
中引用了字段BrickColor
,而您应该只引用之前创建的变量Colors
:
script.Parent.BrickColor = Colors[math.random(1,7)]
答案 1 :(得分:0)
好的,所以在尝试Pauls建议将砖色线更改为
之后script.Parent.BrickColor = Colors[math.random(1,7)]
我收到了错误
bad argument #3 to 'BrickColor' (BrickColor expected, got string)
经过一些搜索,我发现我需要使用BrickColor.new(颜色)来改变颜色。这就是代码在最后看到的方式
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