Wpis z mikrobloga

Mam na scenie obiekt, który ma odtwarzać dźwięk. Kiedy przechodzę na następną scenę i wracam na tą gdzie jest obiekt z muzyką to dźwięk się zapętla, odtwarza się od nowa dana ścieżka dźwiękowa. Rozwiązałem to w prosty sposób w kodzie (sprawdzam czy obiekt już istnieje i ewentualnie go niszczę) ale nie wiem jak to dokładnie działa w unity i tutaj potrzebuję pomocy.
Przy uruchomieniu danej sceny są za każdym razem tworzone wszystkie obiekt? Kamera, canvas, itd...?
Co za tym idzie, jeżeli jakiś obiekt ma metodę:
GameObject.DontDestroyOnLoad(gameObject);
to będzie mi duplikowało te obiekty i muszę zadbać, żeby je mądrze niszczyć?
#gamedev #unity3d #unity
  • 1
@rubesom: Scena uruchamia się taka, jaką ja stworzysz. Jak "oznaczysz" jakiś obiekt tym DontDestroyOnLoad to będzie on żył tak długo, aż go zniszczysz (między scenami też).
Więc jeżeli masz ten obiekt na scenie i ładujesz 2 razy tę scenę, to musiałbyś jeden usunąć.
Ale najlepiej takie obiekty tworzyć na jakiejś scene wcześniejszej, która nigdy drugi raz nie zostanie załadowana.