Autor Wątek: Planowanie kodu w Unity  (Przeczytany 2232 razy)

Offline St4rKiller070

  • Użytkownik

# Lipiec 15, 2013, 10:43:48
Niedawno przerwałem pisanie mojej pierwszej gry w Unity, gdyż gubiłem się we własnym kodzie :P
Nie chciałbym popełnić tego samego błędu, bo to co ja wtedy przeszedłem to byłą masakra.
Skrypty piszę w js'ie.
Przede wszystkim: gdzie/jak trzymać zmienne globalne? Czyli powiedzmy ilość życia albo energii (co wpływa na szybkość poruszania, moc uderzenia itp.). Zmienne do których dostęp powinno mieć kilka z obiektów.
Inny problem na który się natknąłem to to, że Unity w jakiś sposób nie akceptowało javascriptowych tablic. Pamiętam, że żeby można było ich w ogóle używać, trzeba było usunąć pierwszą linijkę z kodu (bodajże "#pragma strict"). Czego więc używać wzamian?
Jak w ogóle projektuje się gry? Dysponuje ktoś jakimś ciekawym przykładem?
Miałem jeszcze czwarte pytanie ale gdzieś mi umknęło -.-
Z góry dziękuję za odpowiedzi.

Offline Mr. Spam

  • Miłośnik przetworów mięsnych

Offline gothicgirl

  • Użytkownik

  • +2
# Lipiec 15, 2013, 11:13:12
W Unity by stworzyć skrypt z globalnymi danymi, musisz stworzyć objekt który się nie kasuje po zmianie scen.
podajrze funkcja DontDestroyOnLoad czy coś takiego.

Poczytaj tez o singletonach http://wiki.unity3d.com/index.php/Singleton
polecam Component-based.

Do większości zmiennych wystarczy zwykła klasa ze statycznymi zmiennymi vide:
public static class Zmienne { public static int abc; };   
« Ostatnia zmiana: Lipiec 15, 2013, 11:15:34 wysłana przez gothicgirl »

Offline Meic

  • Użytkownik

# Lipiec 15, 2013, 13:22:33
Co do javascriptowych tablic, to faktycznie jest z nimi problem, dlatego lepiej ich unikać. Co wybrać w zamian ? Opcji jest sporo -> http://wiki.unity3d.com/index.php?title=Which_Kind_Of_Array_Or_Collection_Should_I_Use%3F .

Offline koirat

  • Użytkownik

  • +3
# Lipiec 15, 2013, 13:42:37
W pierwszej kolejności bym zrezygnował z JavaScript na rzecz c# jeśli idzie o programowanie w unity3d.

Gubiłeś się we własnym kodzie bo prawdopodobnie za dużo odpowiedzialności powierzyłeś komponentą zamiast zrobić sobie systemy niezależne od nich.

Offline St4rKiller070

  • Użytkownik

# Lipiec 15, 2013, 14:31:57
@koirat, mógłbyś mi przedstawić konkretny przykład, bo jak na razie nie bardzo rozumiem w czym problem w javascripcie.
W pewnym stopniu znam javę, lecz - mimo podobieństw do c# - trudniej przestawić się na ten drugi.
Natomiast js znam dość dobrze, więc o ile to możliwe, chcę przy nim pozostać ;)

Offline koirat

  • Użytkownik

# Lipiec 15, 2013, 16:10:04
Przede wszystkim problemy są takie jak w każdym innym dynamicznie typowanym języku.
Przeczytaj sobie np komentarze ludzi na stackoverflow link http://stackoverflow.com/questions/125367/dynamic-type-languages-versus-static-type-languages