所以我决定在 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