Lagring, Laste og Høye Poeng
Ofte ønsker du å lage et spill som husker visse detaljer fra forrige gang det ble spilt.
Hva du ønsker å lagre avhenger sterkt av spillet eller appen du lager. Enten du vil lagre en poengsum, posisjonen eller den totale fremgangen, må du planlegge hvordan og hva du vil lagre.
I denne veiledningen vil vi gå gjennom lagring av spillerens poengsum, og lage et enkelt høypunkts- eller "Beste forrige" poengsystem.
For denne veiledningen antar vi at du har laget et enkelt spill der spilleren plukker opp mynter (Del 5 av å lage et plattformspill), og antallet mynter vises med en etikett på skjermen.
Lagring
Når det gjelder lagring, er det to viktige spørsmål du bør stille deg selv. Hva vil du lagre, og når bør du lagre? I hyperPad kan lagringsadferden bare lagre en enkelt verdi om gangen. Så du må virkelig tenke på hva du lagrer.
I denne veiledningen vil vi lagre poengsummen (antall mynter samlet) som vises med en etikett på skjermen.
Nå som vi vet at vi lagrer poengsummen fra etiketten, er neste steg å finne ut når vi skal lagre.
Det finnes mange alternativer her, og de avhenger av gameplayet eller den overordnede designen din. Du kan få det til å lagre hver gang spilleren plukker opp en mynt, lagre når spilleren taper, lagre når spilleren fullfører nivået, lagre når spilleren trykker på en knapp, eller hva du måtte mene er nødvendig for din situasjon.
For denne veiledningen vil vi sette opp en knapp som lagrer poengsummen når spilleren trykker på lagre-knappen. Denne samme behavior-logikken kan brukes hvis du vil lagre når spilleren taper eller fullfører nivået. Du må bare utløse disse atferdene når du vinner eller taper.
Velg objektet for Lagringsknappen din, og åpne atferdene.
Fra Interaksjon-kategorien i atferdsredigereren, legg til en "Stoppet Berøring"-atferd.
Nå, fra UI-kategorien, legg til en "Hent Etikett"-atferd, og koble den til "Stoppet Berøring"-atferden fra forrige steg.
Trykk på "Hent Etikett"-atferden for å se atferdsegenskapene. Fra atferdsegenskapene, trykk på området som representerer det nåværende objektet, og velg deretter etiketten i scenen som representerer poengsummen din.
Neste, fra Tilpasset-kategorien, legg til en "Lagre til Fil"-atferd og koble den til "Stoppet Berøring".
Velg "Lagre til Fil"-atferden du nettopp la til for å se atferdsegenskapene. Merk at "Nøkkeltype" er satt til eksisterende. Eksisterende nøkler er forhåndsdefinerte ting du vil lagre.
Først må du legge til tittelen eller beskrivelsen av noe du ønsker å lagre. Dette kalles en "Nøkkel". Trykk på "Velg eller Opprett Nøkkel"-knappen for å åpne listen over nøkler.
Skriv inn en beskrivende tittel øverst, og trykk deretter + knappen for å legge til din første nøkkel. Siden vi vil lagre poengsummen, skriv "Poengsum" som nøkkel.
Nå må du faktisk lagre poengsummen fra etiketten. For å gjøre dette, skriv ut verdien fra hjørnet av "Hent Etikett"-atferden inn i inndatafeltet til "Lagre til Fil"-egenskapene.
Det er det! På dette tidspunktet skal spillet ditt lagre poengsummen din akkurat når du trykker på lagre-knappen. Men du har ikke faktisk gjort noe med den lagrede verdien. Neste ting du må gjøre er å laste inn poengsummen og faktisk bruke den i scenen din.
Innlasting
Med poengsummen lagret, må du nå laste den inn og bruke den i scenen din. Når det gjelder innlasting, er det et viktig spørsmål du må svare på. Når vil du laste inn?
Som ved lagring, avhenger svaret sterkt av prosjektet ditt. Du kan laste inn så snart scenen starter, når spilleren trykker på en knapp, eller når en annen hendelse utløses. Det avhenger virkelig av hva du prøver å oppnå.
For denne veiledningen vil vi laste inn straks når scenen starter og vise den forrige lagrede poengsummen.
For å starte, legg en etikett inn i scenen din. Vi vil bruke denne etiketten til å vise den lagrede poengsummen.
Nest trenger vi å legge til den faktiske innlastingslogikken. For denne veiledningen vil vi legge til logikken til Lagringsknappen fra de forrige stegene. Men avhengig av spillet ditt, må du kanskje plassere logikken et annet sted. Velg lagringsknappen og åpne atferdsredigereren fra objektsegenskapene.
Fra Tilpasset-kategorien, legg til "Last inn fra Fil"-atferden og koble den ikke til noe. Siden den ikke er koblet til noen annen atferd, vil lasteatferden kjøres akkurat når scenen starter (når knappen eksisterer i scenen). Hvis du vil laste inn basert på en viss hendelse eller annen utløser, må du koble det til andre atferder.
Nå, velg "Last inn fra Fil"-atferden for å se atferdsegenskapene. Nok en gang, sørg for at "Eksisterende" er valgt for nøkkeltype.
Neste, trykk på "Velg Nøkkel"-knappen for å åpne listen over lagrede nøkler. Fra listen velg "Poengsum"-nøkkelen du la til tidligere.
På dette tidspunktet har du teknisk sett lastet inn poengsummen. Men du gjør ikke noe med den ennå. La oss sette den lastede verdien i bruk.
Fra UI-kategorien, legg til en "Sett Etikett"-atferd og koble den til Last atferden du la til tidligere.
Neste, velg "Sett Etikett"-atferden for å se egenskapene dens, og husk å velge den nye etiketten du nettopp la til som representerer den lastede poengsummen. Når du har valgt riktig etikett å endre, dra utdataverdien fra hjørnet av "Last inn fra Fil"-atferden inn i inndatafeltet til Sett Etikett-atferden.
Det er alt du trenger å gjøre! Fremgangen din vil bli lagret og lastet inn i en etikett neste gang du spiller.
Høypoeng
En ting du kanskje har lagt merke til, er at poengsummen lagres hver gang du trykker på knappen og overskriver den forrige poengsummen. Noen ganger er dette greit, men vanligvis ønsker du bare å lagre når spilleren når en poengsum som er høyere enn deres forrige.
For å implementere dette "Høypoeng"-systemet trenger vi bare å modifisere lagringslogikken vår litt.
Begynn med å gå tilbake til der lagringsatferdene er plassert (lagringsknappen).
Først må du koble fra "Lagre til Fil"-atferden fra "Stoppet Berøring"-atferden. Trykk på linjen som kobler de to atferdene for å koble dem fra.
Neste, fra Logikk-kategorien, legg til en HVIS-atferd. HVIS-atferden vil sjekke når en viss betingelse er oppfylt før den utføres. I dette tilfellet ønsker vi bare å lagre HVIS poengsummen er større enn den forrige (lastede) poengsummen.
Koble HVIS-atferden til "Stop Berøring"-atferden.
Neste må du trykke på HVIS-atferden for å åpne atferdsegenskapene og sette opp betingelsen.
Dra utdataverdien fra "Hent Etikett" inn i det første inndatafeltet i HVIS-atferden.
Deretter drar du utdataverdien fra "Last inn fra Fil"-atferden inn i det andre inndatafeltet i HVIS-atferden.
Nå må du endre betingelsen. Trykk på "Er Lik"-knappen og velg Grater enn eller lik (≥) alternativet.
Til slutt koble din gamle lagringsatferd til HVIS. Nå vil HVIS-atferden bare utføre den koblede lagringen, HVIS verdien fra etiketten er større enn (eller lik) den lastede verdien.
Det er alt du trenger å gjøre. Du skal nå ha et fungerende lagrings- og innlastingssystem som lagrer spillerens poengsum bare hvis de slår sitt forrige forsøk.
Annen lagring
Denne veiledningen handlet om å lagre en poengsum. Men noen ganger vil du lagre andre ting, som spillerens posisjon, eller det nåværende nivået osv.
Konseptene du lærte i denne veiledningen gjelder fortsatt. Du må bare endre når du lagrer, og hva du lagrer.
Ta å lagre spillerens posisjon som et eksempel. En gjenstands posisjon er gitt i 2 tall. X, og Y. For dette ville du ganske enkelt bruke 2 lagringsatferder. En for å lagre X-posisjonen, og den andre for å lagre Y-posisjonen. Så når det gjelder innlasting, ville du bruke 2 lasteatferder. Deretter, i stedet for å sette en etikett, ville du ganske enkelt flytte spillerobjektet til de lastede X- og Y-posisjonene.
Ved å lage en plan for hva du prøver å lagre, og når du trenger å lagre, kan du lage et system som fungerer for nesten enhver situasjon.

