Sparande, Laddande och Högsta Poäng
Ofta vill du skapa ett spel där det kommer ihåg vissa detaljer om den tidigare gången det spelades.
Vad du vill spara beror starkt på spelet eller appen du skapar. Oavsett om du vill spara en poäng, positionen eller den övergripande framstegen, behöver du planera hur och vad du vill spara.
I den här tutorialen kommer vi att gå igenom hur man sparar en spelares poäng och skapar ett enkelt högsta poäng eller "Bästa tidigare" poängsystem.
För den här tutorialen antar vi att du har skapat ett enkelt spel där spelaren plockar upp mynt (Del 5 av att skapa ett plattforms spel), och antalet mynt visas med en etikett på skärmen.
Spara
När det kommer till att spara finns det två viktiga frågor du vill ställa dig själv. Vad vill du spara, och när ska du spara? I hyperPad kan Save Behavior endast spara ett enda värde åt gången. Så du behöver verkligen tänka på vad du sparar.
I den här tutorialen kommer vi att spara poängen (antalet insamlade mynt) som visas med en etikett på skärmen.
Nu när vi vet att vi sparar poängen från etiketten, är nästa sak att ta reda på när vi ska spara.
Det finns många alternativ här, och de beror på din spelmekanik eller övergripande design. Du kan ha det så att det sparas varje gång spelaren plockar upp myntet, spara när spelaren förlorar, spara när spelaren klarar nivån, spara när spelaren trycker på en knapp, eller vad du än tycker är nödvändigt för din situation.
För den här tutorialen kommer vi att ställa in en knapp som sparar poängen när spelaren trycker på spara-knappen. Denna samma beteendelogik kan tillämpas om du vill spara när spelaren förlorar eller klarar nivån. Du behöver bara utlösa dessa beteenden när du vinner eller förlorar.
Välj ditt Spara-knapp-objekt och öppna beteendena.
Från Interaktionskategorin i beteendeeditorn lägg till ett "Stoppad Beröring" beteende.
Nu från UI-kategorin, lägg till ett "Hämta Etikett" beteende och koppla det till "Stoppad Beröring" beteendet från föregående steg.
Tryck på "Hämta Etikett" beteendet för att visa beteendeegenskaperna. Från beteendeegenskaperna, tryck på området som representerar det aktuella objektet, och välj sedan etiketten i din scen som representerar din poäng.
Nästa, från Anpassad kategori, lägg till ett "Spara till fil" beteende och koppla det till "Stoppad Beröring".
Välj "Spara till fil" beteendet som du just lade till för att se beteendeegenskaperna. Notera att "Nyckeltyp" är inställd på befintlig. Befintliga nycklar är fördefinierade saker du vill spara.
Först måste du lägga till titeln eller beskrivningen av något du vill spara. Detta kallas en "Nyckel". Tryck på knappen "Välj eller Skapa Nyckel" för att öppna listan över nycklar.
Fyll i en beskrivande titel överst, och tryck sedan på + knappen för att lägga till din första nyckel. Eftersom vi vill spara poängen, skriv "Poäng" som nyckeln.
Nästa måste du faktiskt spara poängen från etiketten. För att göra detta, mata ut värdet från hörnet av "Hämta Etikett" beteendet in i inmatningsfältet för "Spara till fil" egenskaper.
Det är allt! Vid det här laget bör ditt spel spara din poäng just när du trycker på spara-knappen. Men du har faktiskt inte gjort något med det sparade värdet. Nästa sak du behöver göra är att Ladda poängen och faktiskt använda den i din scen.
Ladda
Med din poäng sparad, behöver du nu ladda den och använda den i din scen. När det kommer till att ladda, finns det en viktig fråga du behöver svara på. När vill du ladda?
Som med sparande beror svaret starkt på ditt projekt. Du kan ladda så snart din scen börjar, när spelaren trycker på en knapp, eller när någon annan händelse utlöses. Det beror verkligen på vad du försöker uppnå.
För den här tutorialen kommer vi att ladda direkt när scenen startar och visa den tidigare sparade poängen.
För att börja, lägg till en etikett i din scen. Vi kommer att använda denna etikett för att visa din sparade poäng.
Nästa behöver vi lägga till den faktiska laddlogiken. För denna tutorial kommer vi att lägga till logiken till Spara-knappen från föregående steg. Men beroende på ditt spel, kan du behöva placera din logik någon annanstans. Välj spara-knappen och öppna beteendeeditorn från objektsinställningarna.
Från Anpassad kategori, lägg till "Ladda från fil" beteendet och koppla det inte till något. Eftersom det inte är kopplat till något annat beteende, kommer laddbeteendet att köras just när scenen startar (när knappen finns i scenen). Om du ville ladda baserat på en viss händelse eller annan utlösare, skulle du koppla det till andra beteenden.
Nu, välj "Ladda från fil" beteendet för att se beteendeegenskaperna. Återigen, se till att "Befintlig" är valt för nyckeltypen.
Nästa, tryck på knappen "Välj Nyckel" för att öppna listan över sparade nycklar. Från listan välj "Poäng"-nyckeln du lade till tidigare.
Vid det här laget har du tekniskt sett laddat poängen. Men du gör inget med den än. Låt oss använda det laddade värdet.
Från UI-kategorin, lägg till ett "Ställ in Etikett" beteende och koppla det till laddbeteendet du lade till tidigare.
Nästa, välj "Ställ in Etikett" beteendet för att se dess egenskaper och kom ihåg att välja den nya etikett som du just lade till som representerar den laddade poängen. När du har valt rätt etikett att ändra, dra utvärderingsvärdet från hörnet av "Ladda från fil" beteendet in i inmatningsfältet för Ställ in Etikett-beteendet.
Det är allt du behöver göra! Din framsteg kommer att sparas och laddas in i en etikett nästa gång du spelar.
Högsta Poäng
En sak du kanske har märkt är att din poäng sparas varje gång du trycker på knappen och skriver över din tidigare poäng. Ibland är det okej, men vanligtvis vill du bara spara när spelaren når en poäng som är högre än deras tidigare.
För att implementera detta "Högsta Poäng"-system behöver vi bara modifiera vår sparlogik något.
Börja med att gå tillbaka till där sparbeteendena är placerade (spara-knappen).
Först behöver du koppla bort "Spara till fil" beteendet från din Stoppad Beröring-beteende. Tryck på linjen som kopplar de två beteendena för att koppla bort dem.
Nästa, från Logik-kategorin lägg till ett IF-beteende. IF-beteendet kommer att kontrollera när ett visst tillstånd är uppfyllt innan det körs. I det här fallet vill vi bara spara OM poängen är högre än den tidigare (laddade) poängen.
Koppla IF-beteendet till "Stoppad Beröring" beteendet.
Nästa måste du trycka på IF-beteendet för att öppna beteendeegenskaperna och ställa in villkoret.
Dra utvärderingsvärdet från "Hämta etikett" in i det första inmatningsfältet av IF-beteendet.
Drag sedan utvärderingsvärdet från "Ladda från fil" beteendet in i det andra inmatningsfältet i IF-beteendet.
Nu behöver du ändra villkoret. Tryck på knappen "Är lika med" och välj alternativet Större än eller lika med (≥).
Slutligen, koppla din gamla spar-beteende till IF. Nu kommer ditt IF-beteende endast att utföra det kopplade spara-beteendet OM värdet från etiketten är större än (eller lika med) det laddade värdet.
Det är allt du behöver göra. Du bör nu ha ett fungerande spara- och laddningssystem som sparar spelarens poäng endast om de slår sin tidigare försök.
Övrigt Spara
Denna tutorial handlade om att spara en poäng. Men ibland kan du vilja spara andra saker, som spelarens position, eller den aktuella nivån osv.
De koncept du lärt dig i denna tutorial gäller fortfarande. Du behöver bara ändra när du sparar, och vad du sparar.
Ta att spara spelarens position som exempel. En objekts position ges i 2 nummer. X och Y. För detta, skulle du helt enkelt använda 2 spara-beteenden. En för att spara X-positionen och den andra för att spara Y-positionen. Sedan när det kommer till att ladda, skulle du använda 2 ladda-beteenden. Istället för att ställa in en etikett, skulle du helt enkelt flytta spelarobjektet till de laddade X- och Y-positionerna.
Genom att göra en plan för vad du försöker spara och när du behöver spara, kan du skapa ett system som fungerar för nästan alla situationer.

