Menu
CoddyTech

达到目标

本课属于 Coddy Godot 学习旅程的“游戏规则”单元。第 22 课,共 29 课。

可以输掉的游戏需要有获胜的方式。通常,获胜地点是一个特定位置,比如关卡末尾的旗帜。

这里的旗帜是一个名为 Goal 的 Area2D。当一个物体进入时,它会发送包含该物体的 body_entered 信号。玩家在 player 组中,因此目标区域可以将玩家与其他物体区分开:

func _on_goal_body_entered(body):
	if body.is_in_group("player"):
		$HUD/Message.text = "You win!"

HUD 中有一个空的 Message 标签,位于屏幕中央。

challenge icon

挑战

简单

让玩家到达旗帜即可获胜。

  1. 在 _ready() 中,将 $Goal.body_entered 连接到 _on_goal_body_entered。
  2. 在 _on_goal_body_entered(body) 中,当该物体属于 player 组时,将 $HUD/Message.text 设置为 "You win!"。

按下 “开始” 并走到旗帜处:屏幕上会显示 You win!。然后点击 “检查”。

亲手试试

extends Node2D

func _ready():
	pass

游戏规则中的所有课

自己练习: Godot 在线编辑器