'尝试索引字段'颜色'(零值)'在LUA中访问数组时
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了'尝试索引字段'颜色'(零值)'在LUA中访问数组时相关的知识,希望对你有一定的参考价值。
所以我决定尝试为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 = {'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
它会每秒打印一种颜色。
就像我说我刚开始所以它可能是一个愚蠢的东西。
答案
script.Parent.BrickColor = BrickColor.Colors [math.random(1,7)]
你在Colors
中引用了字段BrickColor
,而你应该只引用你之前创建的变量Colors
:
script.Parent.BrickColor = Colors[math.random(1,7)]
另一答案
好吧,在尝试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
以上是关于'尝试索引字段'颜色'(零值)'在LUA中访问数组时的主要内容,如果未能解决你的问题,请参考以下文章