循环
某些代码可能会反复执行多次,比如咱们要显示 100 个 hello
,利用循环语句即可只写一个 print。
循环语句语法格式:
while <条件表达式>:
<代码块>
这和基本的 if 语句是一样的,只不过换成了 while
关键字,执行逻辑为:如果条件为真,则执行一次代码块,然后再判断条件,如果条件还为真,则再执行代码块,然后反复判断 + 执行,直到条件为假。
那么咱的 100 和 hello
就可以这样写:
var 计数 = 0
while 计数 < 100:
print("hello")
计数 += 1
可以尝试思考一下,执行完这段代码后,
计数
变量的值是多少?
死循环
写循环时最容易出现的错误就是死循环,死循环并不是说循环死了,而是循环一直活着,例如:
var 计数 = 0
while 计数 < 100:
print("hello")
我删掉了 计数 += 1
这一句代码,此时的 计数
变量将一直为 0,while 的条件也就永远为 true
,所以这个循环会反复执行停不下来,这种代码会导致游戏卡死,甚至需要任务管理器才能退出,不过好在开发阶段可以点击 Godot 右上角的停止按钮来结束游戏。
[!note]
游戏画面的更新和执行代码并不是同时进行的,他们的执行顺序可以简单理解为交叉进行,例如:
代码 -> 更新画面 -> 代码 -> 更新画面 -> 代码 -> 更新画面 -> ...
由于代码执行的很快,所以玩家眼中游戏画面是连续的,但如果现在有一个死循环或很长很长的循环,画面自然就会卡住。