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ą.
Wyzwanie
ŁatwySpraw, by płytka reagowała tylko na gracza.
- W funkcji
_on_body_entered(body)umieść linięmodulatewewnątrz instrukcjiif. - Niech instrukcja
ifsprawdza, czybody.namema 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