收集硬币:你赢了
本课属于 Coddy Godot 学习旅程的“信号与碰撞”单元。第 27 课,共 27 课。
没有剩下金币时,你就赢了。_on_coin_collected 已经会倒计数,所以在数量变化后立即检查:
if coins_left == 0:
print("You collected every coin!")场景中有一个隐藏的 Label,名为 WinBanner,上面写着 You collected every coin!。用显示灯的同样方式显示它。
挑战
中等拿到所有硬币即可赢得游戏。
- 在
_on_coin_collected()的末尾,为coins_left等于0添加一个if条件。 - 在其中打印
You collected every coin!并显示$WinBanner。
按“开始”并拿到全部 6 枚硬币,胜利横幅就会显示。然后按“检查”。
亲手试试
extends Node2D
var coins_left = 0
func _ready():
coins_left = get_tree().get_nodes_in_group("coins").size()
for coin in get_tree().get_nodes_in_group("coins"):
coin.collected.connect(_on_coin_collected)
func _on_coin_collected():
coins_left -= 1
print("Coins left: ", coins_left)
这节课包含一个小测验。开始学习即可作答,并记录你的进度。
信号与碰撞中的所有课
自己练习: Godot 在线编辑器