Zapisywanie, Ładowanie i Najwyższe Wyniki | hyperPad Documentation

Loading...

Logo

Często chcesz stworzyć grę, która zapamiętuje pewne szczegóły z poprzedniej rozgrywki.

Co chcesz zapisać, w dużej mierze zależy od gry lub aplikacji, którą tworzysz. Niezależnie od tego, czy chcesz zapisać wynik, położenie czy ogólny postęp, musisz zaplanować, co i jak chcesz zapisać.

W tym tutorialu omówimy zapisywanie wyniku gracza i stworzenie prostego systemu najniższego wyniku lub „Najlepszego Poprzedniego” wyniku.

Na potrzeby tego tutorialu przyjmiemy, że stworzyłeś prostą grę, w której gracz zbiera monety (Część 5: Dodawanie monet i punktów), a liczba monet jest wyświetlana za pomocą etykiety na ekranie.

Zapisywanie

Jeśli chodzi o zapisywanie, musisz zadać sobie dwa ważne pytania. Co chcesz zapisać i kiedy powinieneś zapisać? W hyperPad opcja Zapisz może zapisać tylko jedną wartość na raz. Musisz więc dokładnie przemyśleć, co zapisujesz.

W tym tutorialu zapiszemy wynik (liczbę zebranych monet), który jest wyświetlany za pomocą etykiety na ekranie.

Teraz, gdy wiemy, że zapisujemy wynik z etykiety, musimy ustalić, kiedy zapisać.

Jest wiele opcji i zależą one od twojej rozgrywki lub ogólnego projektu. Możesz zapisać za każdym razem, gdy gracz zbiera monetę, zapisać, gdy gracz przegra, zapisać, gdy gracz pokona poziom, zapisać, gdy gracz naciśnie przycisk, lub cokolwiek innego, co uznasz za potrzebne w swojej sytuacji.

Na potrzeby tego tutorialu ustawimy przycisk, który zapisze wynik, gdy gracz naciśnie przycisk zapisu. Ta sama logika zachowań może być zastosowana, jeśli chcesz zapisać, gdy gracz przegrywa lub kończy poziom. Musisz po prostu wyzwolić te zachowania, gdy wygrywasz lub przegrywasz.

Wybierz obiekt przycisku zapisu i otwórz zachowania.

Z kategorii Interakcja w edytorze zachowań dodaj zachowanie „Zatrzymaj dotyk”.

Teraz z kategorii UI dodaj zachowanie „Pobierz etykietę” i połącz je z zachowaniem „Zatrzymaj dotyk” z poprzedniego kroku.

Stuknij w zachowanie „Pobierz etykietę”, aby zobaczyć właściwości zachowania. W właściwościach zachowania stuknij w obszar, który reprezentuje bieżący obiekt, a następnie wybierz etykietę w swojej scenie, która reprezentuje twój wynik.

Następnie z kategorii Niestandardowe dodaj zachowanie „Zapisz do pliku” i połącz je z „Zatrzymaj dotyk”.

Wybierz zachowanie „Zapisz do pliku”, które właśnie dodałeś, aby zobaczyć właściwości zachowania. Zauważ, że „Typ klucza” jest ustawiony na istniejący. Istniejące klucze to zdefiniowane elementy, które chcesz zapisać.

Najpierw musisz dodać tytuł lub opis czegoś, co chcesz zapisać. Nazywa się to „Klucz”. Stuknij przycisk „Wybierz lub utwórz klucz”, aby otworzyć listę kluczy.

Wprowadź opisowy tytuł na górze, a następnie naciśnij przycisk +, aby dodać swój pierwszy klucz. Ponieważ chcemy zapisać wynik, wprowadź „Wynik” jako klucz.

Następnie musisz faktycznie zapisać wynik z etykiety. Aby to zrobić, wyprowadź wartość z rogu zachowania „Pobierz etykietę” do pola wejściowego właściwości „Zapisz do pliku”.

To wszystko! W tym momencie twoja gra powinna zapisywać wynik zaraz po naciśnięciu przycisku zapisu. Ale jeszcze nic nie zrobiłeś z zapisaną wartością. Następną rzeczą, którą musisz zrobić, jest załadowanie wyniku i faktyczne użycie go w swojej scenie.

Ładowanie

Mając zapisany wynik, teraz musisz go załadować i użyć go w swojej scenie. Jeśli chodzi o ładowanie, jest jedno ważne pytanie, które musisz sobie zadać. Kiedy chcesz załadować?

Podobnie jak w przypadku zapisu, odpowiedź w dużej mierze zależy od twojego projektu. Możesz załadować, gdy scenariusz się zaczyna, gdy gracz naciśnie przycisk lub kiedykolwiek zostanie wyzwolone inne zdarzenie. Zależy to od tego, co próbujesz osiągnąć.

Na potrzeby tego tutorialu załadujemy zaraz na początku sceny i pokażemy poprzednio zapisany wynik.

Aby rozpocząć, dodaj etykietę do swojej sceny. Użyjemy tej etykiety do wyświetlenia zapisanego wyniku.

Następnie musimy dodać faktyczną logikę ładowania. Na potrzeby tego tutorialu dodamy logikę do przycisku zapisu z wcześniejszych kroku. Jednak w zależności od twojej gry, możesz musieć umieścić swoją logikę w innym miejscu. Wybierz przycisk zapisu i otwórz edytor zachowań z właściwości obiektu.

Z kategorii Niestandardowe dodaj zachowanie „Załaduj z pliku” i nie łącz go z niczym. Ponieważ nie jest połączone z żadnym innym zachowaniem, zachowanie ładowania zostanie wykonane zaraz po rozpoczęciu sceny (gdy przycisk istnieje w scenie). Jeśli chcesz załadować na podstawie określonego zdarzenia, lub innego wyzwalacza, to połączysz go z innymi zachowaniami.

Teraz wybierz zachowanie „Załaduj z pliku”, aby zobaczyć właściwości zachowania. Jeszcze raz upewnij się, że wybrano „Istniejący” jako typ klucza.

Następnie stuknij w przycisk „Wybierz klucz”, aby otworzyć listę zapisanych kluczy. Z listy wybierz klucz „Wynik”, który dodałeś wcześniej.

W tym momencie technicznie załadowałeś wynik. Ale jeszcze nic z nim nie robisz. Wykorzystajmy tę załadowaną wartość.

Z kategorii UI dodaj zachowanie „Ustaw etykietę” i połącz je z zachowaniem ładowania, które dodałeś wcześniej.

Następnie wybierz zachowanie „Ustaw etykietę”, aby zobaczyć jego właściwości i pamiętaj, aby wybrać nową etykietę, którą właśnie dodałeś i która reprezentuje załadowany wynik. Po wybraniu odpowiedniej etykiety, przesuń wyjściową wartość z rogu zachowania „Załaduj z pliku” do pola wejściowego zachowania Ustaw etykietę.

To wszystko! Twój postęp zostanie zapisany i wczytany do etykiety następnym razem, gdy zagrajsz.

Najlepszy wynik

Jedną rzeczą, którą mogłeś zauważyć, jest to, że twój wynik jest zapisywany za każdym razem, gdy naciśniesz przycisk i nadpisuje twój poprzedni wynik. Czasami jest to w porządku, ale zazwyczaj chcesz zapisywać tylko wtedy, gdy gracz osiągnie wynik większy niż jego poprzedni.

Aby wdrożyć ten system „Najlepszego wyniku”, musimy tylko nieznacznie zmodyfikować naszą logikę zapisywania.

Zacznij od powrotu do miejsca, w którym umieszczone są zachowania zapisywania (przycisk zapisu).

Najpierw musisz rozłączyć zachowanie „Zapisz do pliku” z zachowaniem Zatrzymaj dotyk. Stuknij w linię łączącą dwa zachowania, aby je rozłączyć.

Następnie z kategorii Logika dodaj zachowanie IF. Zachowanie IF sprawdzi, kiedy dany warunek jest spełniony przed wykonaniem. W tym przypadku chcemy zapisać TYLKO, jeśli wynik jest większy niż poprzedni (załadowany) wynik.

Połącz zachowanie IF z zachowaniem „Zatrzymaj dotyk”.

Następnie musisz stuknąć w zachowanie IF, aby otworzyć właściwości zachowania i ustawić warunek.

Przeciągnij wyjściową wartość z „Pobierz etykietę” do pierwszego pola wejściowego zachowania IF.

Następnie przeciągnij wyjściową wartość z zachowania „Załaduj z pliku” do drugiego pola wejściowego zachowania IF.

Teraz musisz zmienić warunek. Stuknij w przycisk „Jest równy” i wybierz opcję Większy lub równy ().

Na koniec połącz swoje stare zachowanie zapisu z instrukcją IF. Teraz twoje zachowanie IF wykona tylko połączony zapis, JEŚLI wartość z etykiety jest większa niż (lub równa) wartość załadowana.

To wszystko, co musisz zrobić. Powinieneś teraz mieć działający system zapisu i ładowania, który zapisuje wynik gracza tylko wtedy, gdy pokona swoją poprzednią próbę.

Inne zapisywanie

Ten tutorial dotyczył zapisywania wyniku. Ale czasami chcesz zapisać inne rzeczy, takie jak pozycja gracza, aktualny poziom itp.

Koncepcje, których nauczyłeś się w tym tutorialu, nadal mają zastosowanie. Musisz tylko zmienić, kiedy zapisujesz i co zapisujesz.

Weź na przykład zapis pozycji gracza. Pozycja obiektu jest podana w 2 liczbach. X i Y. Do tego użyłbyś po prostu 2 zachowań zapisywania. Jedno do zapisu pozycji X, a drugie do zapisu pozycji Y. Następnie, gdy przychodzi do ładowania, użyłbyś 2 zachowań ładowania. Zamiast ustawiać etykietę, po prostu przeniósłbyś obiekt gracza do załadowanych pozycji X i Y.

Tworząc plan tego, co chcesz zapisać oraz kiedy musisz zapisać, możesz stworzyć system, który będzie działał w prawie każdej sytuacji.