W tutorialu jest tylko pchanie a mi zależy na ciągnięciu, żeby nie było sytuacji gdzie gracz ma boxa pod ścianą i nic z nim nie zrobi. Ja to bym robił tak: jest obiekt skrzynki - może być animowany sprite i area2d.
Gracz nachodzi i skrzynka wykrywa kolizję sygnałem. I teraz jeśli chcesz żeby skrzynka się otwierała jak nachodzisz to już w tej funkcji sygnału dajesz zmianę animacji. Teraz może być sygnał jeśli animacja się skończy i w tej funkcji dajesz wypluwanie monet. Tylko to wypluwanie monet mnie zastanawia. Monety raczej takie do zbierania a nie tylko ozdobnik. Ja bym to robił przez position2d.
extends Position2D func coin_spawning() -> void: var coin = preload('res://Objects/Coin.tscn') var coin_instance = coin.instance() add_child(coin_instance) coin_instance.global_position = self.position
Ta funkcja by była wywołana właśnie po skończeniu animacji otwarcia skrzynki. Monety w osobnej scenie (np Coin.tscn) mogą być sprite z animation player i area do detekcji gracza. Animation player to byś ustawił, żeby te monety sobie leciały jak chcesz.