达到目标
本课属于 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 标签,位于屏幕中央。
挑战
简单让玩家到达旗帜即可获胜。
- 在
_ready()中,将$Goal.body_entered连接到_on_goal_body_entered。 - 在
_on_goal_body_entered(body)中,当该物体属于player组时,将$HUD/Message.text设置为"You win!"。
按下 “开始” 并走到旗帜处:屏幕上会显示 You win!。然后点击 “检查”。
亲手试试
extends Node2D
func _ready():
pass
游戏规则中的所有课
自己练习: Godot 在线编辑器