Menu
CoddyTech

收集硬币:你赢了

本课属于 Coddy Godot 学习旅程的“信号与碰撞”单元。第 27 课,共 27 课。

没有剩下金币时,你就赢了。_on_coin_collected 已经会倒计数,所以在数量变化后立即检查:

if coins_left == 0:
	print("You collected every coin!")

场景中有一个隐藏的 Label,名为 WinBanner,上面写着 You collected every coin!。用显示灯的同样方式显示它。

challenge icon

挑战

中等

拿到所有硬币即可赢得游戏。

  1. 在 _on_coin_collected() 的末尾,为 coins_left 等于 0 添加一个 if 条件。
  2. 在其中打印 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)
quiz icon自我测试

这节课包含一个小测验。开始学习即可作答,并记录你的进度。

信号与碰撞中的所有课

自己练习: Godot 在线编辑器