只有玩家
本课属于 Coddy Godot 学习旅程的“信号与碰撞”单元。第 4 课,共 27 课。
一个区域会注意到每个进入的物体。通常只有一个物体应该被计入,例如一扇只会为英雄打开的门。
使用 if 检查进入的是谁:
func _on_body_entered(body):
if body.name == "Player":
print("Hello, player")== 用来检查两个值是否相等。缩进一层、位于 if 下方的代码行,只有在两个值相等时才会运行。名称必须完全匹配。小写 p 的 "player" 是另一个名称。
这里,漫游车先驶过压力板,然后你再走到压力板上。
挑战
简单让这个踏板只对玩家做出反应。
- 在
_on_body_entered(body)中,把modulate这一行放进一个if语句中。 - 让
if检查body.name是否为"Player",使用==。
按下“开始”:漫游车经过时,踏板保持原来的颜色;你踩上去时,踏板会变成薄荷绿。然后按“检查”。
亲手试试
extends Area2D
func _ready():
body_entered.connect(_on_body_entered)
func _on_body_entered(body):
modulate = Color(0.49, 0.95, 0.75)
信号与碰撞中的所有课
自己练习: Godot 在线编辑器