Podsumowanie

Zastosowanie prefabu

PrefabprefabPrefab stosujemy w sytuacji, w której wiemy, że danego zasobu, np. obiektu, będziemy potrzebować w projekcie wielokrotnie. Można go użyć w dowolnej liczbie scenscenascen, a także wykorzystać go w danej scenie wielokrotnie. Warto pamiętać, że jeśli wprowadzimy zmiany w szablonie, zostaną one przeniesione do wszystkich jego instancjiinstancjainstancji. Oczywiście zmiana wykonana na pojedynczej instancji nie wpływa ani na pozostałe instancje, ani na prefab.

Aby utworzyć prefab, w obszarze Assest tworzymy nowy folder i przeciągamy do niego z okna hierarchii istniejący już obiekt. W hierarchii jego nazwa będzie od teraz wyświetlana na niebiesko. Kolejne instancje dodajemy, przeciągając prefab na okno sceny.

Prefaby wykorzystane w e‑materiale:

RqXukwcV7Fugc

Przycisk do pobrania pliku RAR z treścią zadania.

Plik RAR o rozmiarze 4.90 KB w języku polskim

Siatka

W programach, w których pracuje się z grafiką, ważnym narzędziem jest siatka. Ułatwia ona projektowanie, czemu służą chociażby takie narzędzia, jak przyciąganie do siatki. W programie Unity Hub znajdziemy je pod ikoną siatki z magnesem. Narzędzie to pomaga ustawić w odpowiednim miejscu elementy projektu.

Ruch kamery

Ponieważ bohater gry platformowej przemieszcza się, należy zapobiec sytuacji, w której wyjdzie on z kadru. W tym celu uwzględniamy w kodzie, że kamera ma podążać za postacią.

Dodawanie ruchu kamery zaczynamy od utworzenia nowego skryptu. W edytorze kodu należy zdefiniować obiekt bohatera, a następnie zmienić pozycję x oraz y kamery na pozycję x i y postaci.

Skrypt odpowiedzialny za ruch kamery:

Linia 1. using System kropka Collections średnik. Linia 2. using System kropka Collections kropka Generic średnik. Linia 3. using UnityEngine średnik. Linia 5. public class ruch podkreślnik kamery dwukropek MonoBehaviour. Linia 6. otwórz nawias klamrowy. Linia 8. public GameObject gracz średnik. Linia 10. prawy ukośnik prawy ukośnik Start is called before the first frame update. Linia 11. void Start otwórz nawias okrągły zamknij nawias okrągły. Linia 12. otwórz nawias klamrowy. Linia 14. zamknij nawias klamrowy. Linia 16. prawy ukośnik prawy ukośnik Update is called once per frame. Linia 17. void Update otwórz nawias okrągły zamknij nawias okrągły. Linia 18. otwórz nawias klamrowy. Linia 19. transform kropka position znak równości new Vector3 otwórz nawias okrągły gracz kropka transform kropka position kropka x przecinek gracz kropka transform kropka position kropka y przecinek transform kropka position kropka z zamknij nawias okrągły średnik. Linia 20. zamknij nawias klamrowy. Linia 21. zamknij nawias klamrowy.

Upadek bez skoku, skok bez upadku

Implementując animacje w e‑materiale Animacje i przejścia między nimi – Unity Hub, etap IIIP1FuGOm8WAnimacje i przejścia między nimi – Unity Hub, etap III, nie uwzględniliśmy pewnych szczególnych sytuacji:

  • bohater przechodząc z platformy umieszczonej wyżej na niższą, nie wykonuje skoku, ale powinna się włączyć animacja upadku;

  • postać wskakuje na platformę powyżej, więc po animacji skoku nie powinna się włączać animacja upadku.

Aby naprawić te błędy, wchodzimy w okno Animator i dodajemy:

  • przejście z dowolnego stanu do animacji spadku, jeśli zmienna odpowiedzialna za spadek przyjmie wartość prawda;

  • przejście między skokiem a spoczynkiem, jako warunki ustawiając zmienną skok o wartości fałsz, a także zmienną spadek o wartości fałsz.

Dodatkowo ze skryptu odpowiedzialnego za ruch postaci należy usunąć zapis mówiący o tym, że warunkiem przejścia do upadku jest zmienna skok o wartości prawda.

REmI3O9NPe56o

Wstawienie tła

Aby wstawić grafikę pełniącą funkcję tła do poziomu gry, należy do folderu z teksturami przeciągnąć wybraną ilustrację. Następnie trzeba wyłączyć filtr i kompresję oraz przeciągnąć grafikę z obszaru Assets do Scene.

Ponieważ nie chcemy, żeby tło zasłaniało bohatera i platformy, należy w obszarze Inspector ustawić w polu Order in Layer wartość -1. Ostatnim krokiem jest wyskalowanie grafiki aż wypełni cały poziom.

R1bNwZbhJ77rz
Źródło: Contentplus.pl sp. z o.o., licencja: CC BY-SA 3.0.
Nauczysz się

W następnych częściach serii e‑materiałów postaramy się nieco utrudnić, a zarazem uatrakcyjnić grę. W tym celu dodamy do niej przeszkody, przeciwników oraz punktowane elementy. Zaimplementujemy zarówno warunki przejścia na kolejny poziom, jaki i sytuacje, w których gracz musi rozpocząć grę od początku. Na koniec poprawimy ewentualne błędy i wyeksportujemy projekt, aby móc przekazać go graczom.

Słownik

instancja
instancja

pojedyncze zastosowanie prefabu

prefab
prefab

rodzaj zasobu, którego instancje można wykorzystywać wielokrotnie w projekcie; jeśli zajdą zmiany w prefabie, automatycznie zostaną wprowadzone we wszystkich jego instancjach

scena
scena

pojedynczy poziom gry