Spremanje, Učitavanje i Visoki Rezultati
Često želite stvoriti igru u kojoj se pamte određeni detalji o prethodnom igranju.
Što želite spremiti uvelike ovisi o igri ili aplikaciji koju stvarate. Bilo da želite spremiti rezultat, poziciju ili ukupni napredak, trebate isplanirati kako i što želite spremiti.
U ovom tutorialu pokriti ćemo spremanje rezultata igrača i izradu jednostavnog sustava najviših rezultata ili "Najbolji prethodni" rezultat.
Za ovaj tutorial, pretpostavit ćemo da ste stvorili jednostavnu igru u kojoj igrač prikuplja novčiće (Dio 5 – Dodavanje novčića i bodova), a broj novčića prikazan je oznakom na ekranu.
Spremanje
Kada se radi o spremanju, postoje dva važna pitanja koja želite postaviti sebi. Što želite spremiti i kada biste trebali spremiti? U hyperPadu, ponašanje spremanja može spremiti samo jednu vrijednost u jednom trenutku. Stoga zaista morate razmisliti o tome što spremate.
U ovom tutorialu, spremit ćemo rezultat (broj prikupljenih novčića) koji se prikazuje koristeći oznaku na ekranu.
Sad kada znamo da spremamo rezultat iz oznake, sljedeće što trebamo utvrditi je kada spremiti.
Postoji mnogo opcija ovdje, a one ovise o vašem načinu igranja ili cjelokupnom dizajnu. Možete ga spremiti svaki put kada igrač pokupi novčić, spremiti kada igrač izgubi, spremiti kada igrač pobijedi nivo, spremiti kada igrač pritisne dugme ili što god drugo mislite da je potrebno za vašu situaciju.
Za ovaj tutorial, postavit ćemo dugme koje sprema rezultat kada igrač pritisne dugme za spremanje. Ova ista logika ponašanja može se primijeniti ako želite spremati kada igrač izgubi ili završi nivo. Samo trebate pokrenuti ova ponašanja kada pobijedite ili izgubite.
Odaberite svoj objekt Dugme za spremanje i otvorite ponašanja.
Iz kategorije Interakcija dodajte ponašanje "Zaustavljeno dodirivanje".
Sada iz kategorije UI dodajte ponašanje "Uzmite oznaku" i povežite ga s ponašanjem "Zaustavljeno dodirivanje" iz prethodnog koraka.
Pritisnite ponašanje "Uzmite oznaku" da biste pregledali svojstva ponašanja. Iz svojstava ponašanja, dodirnite područje koje predstavlja trenutni objekt, a zatim odaberite oznaku u vašoj sceni koja predstavlja vaš rezultat.
Zatim iz kategorije Prilagođeno dodajte ponašanje "Spremi u datoteku" i povežite ga s "Zaustavljeno dodirivanje".
Odaberite ponašanje "Spremi u datoteku" koje ste upravo dodali kako biste pregledali svojstva ponašanja. Primijetite da je "Tip ključa" postavljen na postojeći. Postojeći ključevi su unaprijed definirane stvari koje želite spremiti.
Prvo trebate dodati naslov ili opis nečega što želite spremiti. Ovo se zove "Ključ". Dodirnite gumb "Odaberite ili izradite ključ" da biste otvorili popis ključeva.
Unesite opisni naslov na vrhu, a zatim pritisnite + gumb da dodate svoj prvi ključ. Budući da želimo spremiti rezultat, unesite "Rezultat" kao ključ.
Zatim trebate zapravo spremiti rezultat iz oznake. Da biste to učinili, prenesite vrijednost iz ugla ponašanja "Uzmite oznaku" u ulazno polje svojstava "Spremi u datoteku".
To je to! U ovom trenutku, vaša igra bi trebala spremati vaš rezultat čim pritisnete dugme za spremanje. No, zapravo niste učinili ništa s spremljenom vrijednošću. Sljedeće što trebate učiniti je učitati rezultat i zapravo ga upotrijebiti u vašoj sceni.
Učitavanje
S obzirom da je vaš rezultat spremljen, sada ga trebate učitati i koristiti u vašoj sceni. Kada je u pitanju učitavanje, postoji jedno važno pitanje na koje trebate odgovoriti. Kada želite učitati?
Kao i kod spremanja, odgovor uvelike ovisi o vašem projektu. Možete učitati čim vaša scena počne, kada igrač pritisne dugme ili kada se dogodi neki drugi događaj. Sve to ovisi o tome što želite postići.
Za ovaj tutorial, učitat ćemo odmah kada scena počne i prikazati prethodno spremljeni rezultat.
Da bismo započeli, dodajte oznaku u svoju scenu. Ovu oznaku ćemo koristiti za prikazivanje vašeg spremljenog rezultata.
Zatim trebamo dodati stvarnu logiku učitavanja. Za ovaj tutorial, dodamo logiku na Dugme za spremanje iz prethodnih koraka. Međutim, ovisno o vašoj igri, možda ćete trebati staviti svoju logiku negdje drugdje. Odaberite dugme za spremanje i otvorite uređivač ponašanja iz svojstava objekta.
Iz kategorije Prilagođeno dodajte ponašanje "Učitaj iz datoteke" i ne povezujte ga s ničim. Budući da nije povezano s drugim ponašanjem, ponašanje učitavanja će se izvršiti odmah kada scena počne (kada dugme postoji u sceni). Ako želite učitati na temelju određenog događaja ili drugog okidača, tada biste ga povezali s drugim ponašanjima.
Sada odaberite ponašanje "Učitaj iz datoteke" da biste pregledali svojstva ponašanja. Ponovno provjerite da je "Postojeće" odabrano za tip ključa.
Zatim dodirnite gumb "Odaberite ključ" da otvorite popis spremljenih ključeva. Iz popisa odaberite ključ "Rezultat" koji ste dodali ranije.
U ovom trenutku, tehnički ste učitali rezultat. No, još to ne koristite. Iskoristimo tu učitanu vrijednost.
Iz kategorije UI dodajte ponašanje "Postavi oznaku" i povežite ga s ponašanjem učitavanja koje ste dodali ranije.
Sada odaberite ponašanje "Postavi oznaku" da biste pregledali njegova svojstva i ne zaboravite odabrati novu oznaku koju ste upravo dodali koja predstavlja učitani rezultat. Kada odaberete ispravnu oznaku koju želite promijeniti, prenesite izlaznu vrijednost iz ugla ponašanja "Učitaj iz datoteke" u ulazno polje ponašanja Postavi oznaku.
To je sve što trebate učiniti! Vaš napredak će se spremiti i učitati u oznaku sljedeći put kada igrate.
Najviši rezultat
Jedna stvar koju ste možda primijetili je da se vaš rezultat sprema svaki put kada pritisnete dugme i prepisuje vaš prethodni rezultat. Ponekad je to u redu, ali obično želite spremiti kada igrač postigne rezultat veći od prethodnog.
Za implementaciju ovog sustava "Najvišeg rezultata" trebamo samo malo modificirati našu logiku spremanja.
Počnite tako da se vratite na mjesto gdje su postavljeni obrasci spremanja (dugme za spremanje).
Prvo trebate isključiti ponašanje "Spremi u datoteku" iz vašeg ponašanja "Zaustavljeno dodirivanje". Dodirnite liniju koja povezuje dva ponašanja da biste ih odvojili.
Zatim iz kategorije Logika dodajte ponašanje IF. Ponašanje IF će provjeriti kada je određeni uvjet ispunjen prije izvođenja. U ovom slučaju samo želimo spremiti AKO je rezultat veći od prethodnog (učitanog) rezultata.
Povežite ponašanje IF s ponašanjem "Završeno dodirivanje".
Zatim dodirnite ponašanje IF da biste otvorili svojstva ponašanja i postavili uvjet.
Prenesite izlaznu vrijednost iz "Uzmite oznaku" u prvo ulazno polje ponašanja IF.
Zatim prenesite izlaznu vrijednost iz ponašanja "Učitaj iz datoteke" u drugo ulazno polje ponašanja IF.
Sad trebate promijeniti uvjet. Dodirnite gumb "Jednako" i odaberite opciju Veće ili jednako (≥).
Konačno, povežite svoje staro ponašanje spremanja s IF. Sada će se vaše ponašanje IF izvršiti samo kada je povezanog spremanja, AKO je vrijednost iz oznake veća od (ili jednaka) učitanoj vrijednosti.
To je sve što trebate učiniti. Sada biste trebali imati radni sustav spremanja i učitavanja koji će spremiti rezultat igrača samo ako pobijede vlastiti prethodni pokušaj.
Ostali sustavi spremanja
Ovaj tutorial je pokrio spremanje rezultata. No, ponekad želite spremiti druge stvari, poput položaja igrača, ili trenutnog nivoa itd.
Koncepti koje ste naučili u ovom tutorialu i dalje se primjenjuju. Samo trebate promijeniti kada spremate i što spremate.
Uzmimo, primjerice, spremanje položaja igrača. Položaj objekta zadan je s 2 broja. X i Y. Za ovo biste jednostavno koristili 2 ponašanja spremanja. Jedno za spremanje X pozicije, a drugo za spremanje Y pozicije. Tada kada je u pitanju učitavanje, koristit ćete 2 ponašanja učitavanja. Umjesto postavljanja oznake, jednostavno biste pomaknuli objekt igrača na učitani X i Y položaj.
Izradom plana o tome što pokušavate spremiti i kada trebate spremiti, možete stvoriti sustav koji funkcionira za gotovo svaku situaciju.

