Только игрок
Часть раздела Сигналы и столкновения путешествия по Godot на Coddy. Урок 4 из 27.
Область замечает каждое тело, которое в неё входит. Часто нужно учитывать только одно тело — например, когда дверь открывается только для героя.
Используй if, чтобы проверить, кто это:
func _on_body_entered(body):
if body.name == "Player":
print("Hello, player")== проверяет, равны ли два значения. Строки под if, с отступом на одну табуляцию, выполняются, только если значения равны. Имена должны совпадать точно. "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