Menu
CoddyTech

Только игрок

Часть раздела Сигналы и столкновения путешествия по Godot на Coddy. Урок 4 из 27.

Область замечает каждое тело, которое в неё входит. Часто нужно учитывать только одно тело — например, когда дверь открывается только для героя.

Используй if, чтобы проверить, кто это:

func _on_body_entered(body):
	if body.name == "Player":
		print("Hello, player")

== проверяет, равны ли два значения. Строки под if, с отступом на одну табуляцию, выполняются, только если значения равны. Имена должны совпадать точно. "player" с маленькой буквы — это другое имя.

Здесь сначала ровер проезжает по нажимной плите, а затем на неё наступаешь ты.

challenge icon

Задание

Легко

Сделай так, чтобы пластина реагировала только на игрока.

  1. В _on_body_entered(body) помести строку modulate внутрь if.
  2. Сделай так, чтобы 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