Menu
CoddyTech

Obszary spotykają obszary

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

Węzły Godot mają wbudowane sygnały. Area2D ma cztery, których będziesz często używać:

  • body_entered i body_exited: ciało weszło lub wyszło. Ciała to obiekty stałe, takie jak CharacterBody2D i StaticBody2D.
  • area_entered i area_exited: inny obszar wszedł lub wyszedł.

Obszar nigdy nie wysyła sygnału body_entered dla innego obszaru. Spadające gwiazdy są obszarami, więc koszyk potrzebuje sygnału area_entered:

func _ready():
	area_entered.connect(_on_star_caught)

Funkcja otrzymuje obszar, który wszedł, więc przyjmuje jedną wartość, na przykład _on_body_entered(body). Możesz nazwać ją dowolnie.

challenge icon

Wyzwanie

Łatwy

Spraw, aby koszyk zauważał spadające gwiazdy.

  1. Gwiazdy są obszarami, a nie ciałami. W _ready() połącz area_entered zamiast body_entered.
  2. Pozostaw _on_star_caught jako funkcję.

Naciśnij „Graj”: w konsoli dwa razy pojawi się Caught a star!, po razie na każdą gwiazdę. Następnie naciśnij „Sprawdź”.

Spróbuj swoich sił

extends Area2D

func _ready():
	body_entered.connect(_on_star_caught)

func _on_star_caught(star):
	print("Caught a star!")

Wszystkie lekcje w sekcji Sygnały i kolizje

Poćwicz samodzielnie: Edytor online Godot