循环中的 Roblox Studio Lua if 语句
Posted
技术标签:
【中文标题】循环中的 Roblox Studio Lua if 语句【英文标题】:Roblox Studio Lua if-statement in loop 【发布时间】:2020-06-22 20:45:16 【问题描述】:我在这个游戏中有一个 Roblox 游戏,使用 Roblox 开发者网站 (robloxdev.com) 上的代码更改时间我一直在用两个名为“打开”和“关闭”的工会制作一扇门。我希望门在早上 10 点到晚上 5 点之间打开。但是,门不会打开,甚至在适当的时候也不会打开/关闭打印。
这是我当前的代码注意:该脚本与两个联合在同一模型中(称为:门)。
while true do
if game.Lighting.ClockTime > 10 and game.Lighting.ClockTime < 17 then
--Open the door
print("open")
script.Parent.Closed.Transparency = 1
script.Parent.Closed.CanCollide = false
script.Parent.Open.Transparency = 0
script.Parent.Open.CanCollide = true
else
--Close the door
print("close")
script.Parent.Closed.Transparency = 0
script.Parent.Closed.CanCollide = true
script.Parent.Open.Transparency = 1
script.Parent.Open.CanCollide = false
end
end
感谢您的帮助。
【问题讨论】:
我可能错过了,但您正在寻求帮助的问题是什么?门没有按照您的预期进行吗?整个游戏似乎都冻结了? 对不起,我从来没有说过门打不开,谢谢指出 你在更新Lighting.ClockTime
吗? this property does not correspond with the actual time of day and will not change during the game unless it has been changed by a script.
您可能还需要在while true
循环内但在if
语句之外添加一个wait()
。
是的,我说过我正在使用 Roblox 代码来更改绝对有效的时间。
【参考方案1】:
您应该在 while 循环中添加等待。
while true do
if game.Lighting.ClockTime > 10 and game.Lighting.ClockTime < 17 then
--Open the door
print("open")
script.Parent.Closed.Transparency = 1
script.Parent.Closed.CanCollide = false
script.Parent.Open.Transparency = 0
script.Parent.Open.CanCollide = true
else
--Close the door
print("close")
script.Parent.Closed.Transparency = 0
script.Parent.Closed.CanCollide = true
script.Parent.Open.Transparency = 1
script.Parent.Open.CanCollide = false
end
wait(1) -- change this to whatever you want
end
【讨论】:
以上是关于循环中的 Roblox Studio Lua if 语句的主要内容,如果未能解决你的问题,请参考以下文章
Roblox Studio Lua:商店屏幕 Gui:按钮未显示