循环中的 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:按钮未显示

Roblox Studio 跳过循环

Roblox Studio 游戏通行证购买失败

Roblox Lua 中的褪色球

ROBLOX Lua 脚本中的错误:“=”应在“<eof>”附近

如何使脚本影响 Roblox LUA 中的所有子级?