Unity w 2d - przejście do następnego levelu

0

Hejka, mam pytanie nie tego, w jaki sposób przenieść aktualny poziom żyć i punktów do następnego etapu(właściwie cały canvas)?

1

Wygląda na to, że skopałeś całą ligikę gry. Pasowałoby zacząć od nowa. :P

2

Cały canvas...
Dodajesz do Canvasa skrypt, w którym wywołujesz metodę DontDestroyOnLoad: https://docs.unity3d.com/ScriptReference/Object.DontDestroyOnLoad.html

Jednakże, jeśli tego canvasa masz umieszczonego w scenie następnego levelu (np. jak sobie testujesz gameplay w edytorze, pomijając poprzednie poziomy), to musisz jakoś zadbać o to, żeby on Ci się nie dublował - bo jak nie usuwasz Canvasa z poprzedniej sceny i następna scena ładuje nowego Canvasa, to masz dwa Canvasy.

Czyli robisz Unity'owy singleton:

public static NazwaKlasy instance;

void Awake() {
    if (instance == null) {
        instance = this;
        DontDestroyOnLoad(transform.gameObject);
    } else {
        Destroy(transform.gameObject);
    }
}

Trzeba też usunąć ten obiekt przy powrocie do sceny z menu...

DontDestroyOnLoad jest dobre dla skryptów niewidocznych elementów, które chcesz mieć pod ręką w dowolnej scenie, albo widocznych elementów w każdej scenie, jak np. ekran ładowania.

1 użytkowników online, w tym zalogowanych: 0, gości: 1