Menu
CoddyTech

Tylko gracz

Część sekcji Sygnały i kolizje ścieżki Godot w Coddy. Lekcja 4 z 27.

Obszar wykrywa każde ciało, które do niego wchodzi. Często powinno być liczone tylko jedno, na przykład bohater, dla którego otwierają się drzwi.

Użyj if, aby sprawdzić, kto to:

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

== sprawdza, czy dwie wartości są równe. Wiersze pod if, wcięte o jeden tabulator dalej, wykonują się tylko wtedy, gdy tak jest. Nazwy muszą być identyczne. "player" z małą literą p to inna nazwa.

Tutaj łazik najpierw przejeżdża przez płytę naciskową, a potem wchodzisz na nią.

challenge icon

Wyzwanie

Łatwy

Spraw, by płytka reagowała tylko na gracza.

  1. W funkcji _on_body_entered(body) umieść linię modulate wewnątrz instrukcji if.
  2. Niech instrukcja if sprawdza, czy body.name ma wartość "Player", używając ==.

Naciśnij „Graj”: płytka zachowuje swój kolor, gdy dotyka jej łazik, a zmienia go na miętowy, gdy na nią wejdziesz. Następnie naciśnij „Sprawdź”.

Spróbuj swoich sił

extends Area2D

func _ready():
	body_entered.connect(_on_body_entered)

func _on_body_entered(body):
	modulate = Color(0.49, 0.95, 0.75)

Wszystkie lekcje w sekcji Sygnały i kolizje

Poćwicz samodzielnie: Edytor online Godot