我正在进行一场罗布洛的比赛。我想把水升起来再降下来。我想我在编码上做错了什么,(这是我的第二天编码,我在上面找不到任何视频),我不知道是什么。所以每次我运行罗布洛后,第一下降和第二局开始,它冻结,水解散,它抛出一个错误:脚本超时:耗尽的允许执行时间。这是我的代码:
wait(21)
t = 17
repeat
t = t-1
script.Parent.Position = script.Parent.Position + Vector3.new(0, 1, 0)
wait(2)
until
t == 0
wait(1)
t = 17
repeat
t = t-1
script.Parent.Position = script.Parent.Position + Vector3.new(0, -1, 0)
wait(0.5)
until
t == 0
wait(9)
t = 17
while true do
t = t-1
script.Parent.Position = script.Parent.Position + Vector3.new(0, 1, 0)
end
wait(2)
while false do
t = t-1
script.Parent.Position = script.Parent.Position + Vector3.new(0, -1, 0)
end
发布于 2022-07-30 06:36:03
脚本超时:耗尽允许的执行时间。
因为代码从未停止在这里循环:
while true do
//...
end
这将继续循环到永远。(好吧,只要true
是true
。我想不出在什么情况下是不可能的。
与上面的循环进行对比:
t = 17
repeat
t = t-1
//...
until
t == 0
在这种情况下,循环显式地重复“直到t
等于0
",并且循环的每一次迭代都会使t
离0
更近一步。
修改后面的循环,使其具有类似的结构和条件。例如:
t = 17
while t > 0 do
t = t-1
//...
end
还请注意,这个循环永远不会执行:
while false do
//...
end
因为false
从来不是true
。现在是向后退一步的好时机,考虑一下您希望这些循环做什么的逻辑。与前两个循环一样,修改第二个循环以指示它们应该重复多少次。
https://stackoverflow.com/questions/73176415
复制