循环

某些代码可能会反复执行多次,比如咱们要显示 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]

游戏画面的更新和执行代码并不是同时进行的,他们的执行顺序可以简单理解为交叉进行,例如:

代码 -> 更新画面 -> 代码 -> 更新画面 -> 代码 -> 更新画面 -> ...

由于代码执行的很快,所以玩家眼中游戏画面是连续的,但如果现在有一个死循环或很长很长的循环,画面自然就会卡住。