Del 5: Tilføjelse af mønter og point | hyperPad Documentation

Loading...

Logo
DocumentationKomplet Guide - Oprettelse af et PlatformspilDel 5: Tilføjelse af mønter og point
Komplet Guide - Oprettelse af et Platformspil

Del 5: Tilføjelse af mønter og point

Last updated September 19, 2015

Introduktion

Med Del 4 fuldført, skal du nu have en bane og en spillbar karakter til at løbe og hoppe rundt.

Nu skal vi give vores spiller et formål. I denne del af tutorialen vil vi tilføje samleobjekter, der er mønter, og en score til at holde styr på dem.

Mønter, der gemmer sig i blokke, er et af Marios mest ikoniske træk. Lad os starte denne tutorial ved at oprette denne funktion.

At gemme mønter i mursten

Ram muren

Vi laver vores første mursten på en måde, hvor vi hurtigt kan modificere den til at holde så mange mønter, som vi har brug for. Når murstenen er færdig, kan du duplikere den og placere den, hvor du vil.

Denne tutorial bygger videre på Del 4 og forudsætter, at du har oprettet en gren af Del 4-projektet fra huben.

Start med at vælge en af murstenene, der skal holde mønter. Fra objektets egenskaber, tryk på "Adfærd"-knappen for at åbne adfærdsredigeringen.

Fra Objekt kategorien, tilføj Collided adfærden. Collided adfærden vil udløse en begivenhed, hver gang 2 specifikke objekter berører hinanden.

Tryk på den kolliderede adfærd, du tilføjede for at se dens egenskaber. Du kan se, at den har 2 bokse til vælg objekter (refereret som Objekt A, og Objekt B). Den første (Objekt A) er valgt for dig, og det er den, du anvender adfærden på. Du kan trykke for at ændre dette, hvis du ønsker, men vi lader det være.

Den tomme boks er til dit andet objekt (Objekt B), som den kolliderede adfærd vil tjekke imod. Tryk på den tomme boks, og vælg din spillerkarakter, som du tilføjede i Del 4 af guiden.

Med dine objekter valgt, kan du nu ændre, hvilken del af Objekt B der vil udløse den kolliderede begivenhed. Sluk for alle toggles undtagen "On Top"-muligheden. Nu vil den kolliderede adfærd kun fungere, når toppen af spillerkarakteren berører murstenen.

Nu hvor murstenen tjekker, om spillerens hoved berører den, lad os få den til at hoppe op og ned. For at gøre dette, bruger vi Move By-adfærderne til at flytte den op og derefter tilbage ned.

Fra Transform kategorien, tilføj Move By adfærden, og forbind den til den kolliderede adfærd, du tidligere tilføjede.

Tryk på Move By adfærden, og se dens egenskaber. Da vi ønsker at flytte murstenen op, når spilleren rammer den, ændrer vi Y-værdien. Sæt dette til et lille tal, da vi kun ønsker at give den en lille hoppeffekt. Jeg brugte 0.20 meter.

Du skal også ændre Varighed. Varigheden er den tid, det tager at gennemføre flytningen. Som standard er varigheden indstillet til 1, men det betyder, at murstenen vil bevæge sig 0,2 meter over 1 sekund. Dette er alt for langsomt til vores behov. Skift varigheden til 0.10 sekunder.

Bemærk: Ved at indstille en varighed på nul, vil dit objekt bevæge sig øjeblikkeligt til den nye position. Det vil ikke animere glat. Bemærk også boksen med teksten "Lineær". Dette er den bevægelseseffekt, der anvendes til din flytning. Hvis din adfærd har en varighed, vil den bevæge sig baseret på denne effekt.

Nu skal vi få murstenen til at hoppe tilbage. Tilføj en anden Move By adfærd, og forbind den til den forrige.

Igen, ændre egenskaberne. Denne gang vil vi have murstenen til at flytte sig ned igen. For at flytte den ned, skal du ændre Y-værdien til et negativt tal. Da vi ønsker, at murstenen skal bevæge sig tilbage til sin oprindelige position, vil vi flytte den med -0.20 meter. Du skal også ændre varigheden til 0.10 sekunder.

På dette tidspunkt, hvis du trykker på play, kan din spiller ramme murstenen fra bunden og murstenen vil hoppe op og ned. Men der er et par problemer, vi skal adressere.

  1. Der er en lille fejl i vores logik. Hvis spilleren bliver ved med at hoppe rigtig hurtigt uden at ladet boksen vende tilbage til den oprindelige position, vil den fortsætte med at bevæge sig op.

  2. Murstenen hopper for evigt. Hvad hvis du kun vil have et par mønter, så stopper den, når den er tom?

  3. Den giver ikke nogle mønter endnu.

Lad os starte med at håndtere problem 1. Dette er faktisk en simpel fejl at rette. Alt, hvad vi skal gøre, er at slukke for kollisionsadfærden så snart spilleren rammer den, og så tænde den igen, når den er færdig med at bevæge sig.

For at gøre dette, skift til Custom kategorien, og tilføj "Behavior Off", og forbind denne til Collided adfærden.

Næste, fra Behavior Off egenskaberne, tryk på den tomme boks, der hedder "Vælg adfærd". Fra listen, find den korrekte kolliderede adfærd. Bemærk, at listen viser alle adfærd for alle objekterne. Listen er sorteret efter objekt navn.

Nu skal du tænde den kolliderede adfærd igen, når den er færdig med at hoppe. For at gøre dette, tilføj simpelthen en Behavior On fra Custom kategorien og forbind den til den anden Move By adfærd. Fra adfærds egenskaberne, sørg for at vælge den kolliderede adfærd for at tænde den igen.

For problem 2, vil vi bruge en bokscontainer til at indstille mængden af mønter, hver mursten holder. Dette gør det muligt for os at ændre specifikke mursten til at have flere eller færre mønter.

Det første, du skal gøre, er at tilføje en bokscontainer fra Custom kategorien, som du kan placere hvor som helst på skærmen, da den ikke forbinder med noget andet. Du kan også omdøbe denne bokscontainer til "Mønter" for at gøre den lettere at finde senere (for at huske hvordan man omdøber adfærd, se Del 4)

Fra adfærds egenskaberne for Mønter bokscontaineren, ændre "Standardværdi" egenskaben til 3. Dette vil være, hvor mange mønter murstenen holder.

Nu fra Logic kategorien tilføj en Add Values adfærd og forbind den til den anden Move By adfærd, vi tilføjede tidligere. Vi vil bruge denne Add Values adfærd til at holde styr på hver gang spilleren rammer murstenen.

Når "Add Values" adfærden er forbundet, tryk på den for at se adfærds egenskaberne. Egenskaberne viser 2 inputfelter, og "Add Values" adfærden vil outputte summen af de indtastede værdier.

I vores tilfælde, da vi bruger add value til at holde styr på hver ramme, indtaster vi 1 i det øverste felt, og for det nederste felt vil vi outputte summen af Add Value adfærden tilbage i det andet inputfelt.

Det, dette gør, er at øge summen hver gang adfærden kører. Den første gang adfærden kører, vil det være 1+0 siden der ikke er nogen sum. Den anden gang, den kører, vil det være 1+1, da summen fra den foregående gang er gemt.

Dernæst skal du tjekke, om summen fra add values er lig med Mønter bokscontaineren, du tilføjede tidligere.

For at gøre dette, tilføj en IF adfærd fra Logic kategorien og forbind den til Add Values fra det forrige trin.

Med IF forbundet, tryk på det for at se adfærds egenskaberne. IF-adfærden tjekker, om en specifik betingelse er opfyldt (baseret på de 2 inputfelter og den valgte betingelse).

I dette tilfælde, vil vi outputte (dele) summen fra Add value adfærden og placere den i det første felt i IF.

Så output indholdet af bokscontaineren til det andet if.

Med disse værdier indtastet, vil den næste tilknyttede adfærd kun blive udført, HVIS summen af add values er lig med værdien, der er gemt i mønterne bokscontaineren.

Nu skal du slukke for den kolliderede adfærd og ændre grafikken, så du ikke kan få flere mønter. For at gøre dette, tilføj en ny Behavior Off adfærd fra Custom kategorien, og forbind den til IF. Som før, vælg den kolliderede adfærd som den, du vil slukke for.

For at vise spilleren, at der ikke er flere mønter tilbage, kan du tilføje Change Graphic adfærden fra Transform kategorien og forbinde den til IF.

Når den er tilknyttet, skal du vælge en ny grafik fra egenskaberne for Change Graphic adfærden. Tryk på den anden boks i adfærds egenskaberne og vælg en ny grafik.

Nu hvis du trykker play, kan du hoppe op og ramme murstenen 3 gange, før det stopper.

Får Point

Oprettelse af UI

Det næste, der er tilbage, er at få point og samle mønter, når du rammer murstenen!

Det første, vi vil gøre, er at tilføje en tæller i hjørnet af skærmen for at fortælle spilleren, hvor mange point de har.

Så kom tilbage til hovedredigeringsværktøjet ved at trykke tilbage fra adfærdsredigeringsværktøjet. Derefter skal du bringe Lag bjælken frem ved at trykke på de 3 prikker på højre side af skærmen (du kan også stryge fra kanten af skærmen).

Vælg Global UI laget. UI-lagene eksisterer øverst på de andre lag i scenen og bruges typisk til knapper, joystick og mærkater. De er også faste på samme sted på skærmen og bevæger sig sammen med resten af indholdet i din scene.

Bemærk: Objekter, der placeres på Global UI-laget, vil eksistere i hver scene i dit projekt. Hvis du vil have noget til kun at eksistere i én scene, skal du bruge Scene UI-laget.

Med det Global UI-lag valgt, tryk på den Special Objects kolbe ikon i docken, eller træk den ind i scenen.

Fra popuppet vælg Label, og en label vil blive placeret i din scene.

Tryk på den nytilføjede label for at åbne objektets egenskaber. Fra labelens egenskaber kan du ændre tekstfarve, skrifttype, tekst, der skal vises, og mere.

Tryk på den store tekstboks og ændre teksten til at sige "Points: ".

Næste, tryk på "Justering" for at udvide justeringsegenskaberne. Indstil Bredde til 110 og Højde til 64.

Bemærk: Ved at indstille disse til 0 fjerner det tekstområdet og tillader din tekst at vokse horisontalt ubegribelig.

Med labelens egenskaber nu sat, kan du bruge Move/Transform værktøjet til at placere din nye label i hjørnet af skærmen og sørge for ikke at blokere spillerens udsigt.

Når din label er placeret, skal du tilføje endnu en label til scenen. Vi bruger denne label til at vise dine point. Denne gang skal du indstille teksten til 0, da din spiller starter med nul point. I modsætning til før, vil vi angive en specifik bredde og højde. Indstil Bredde til 500pt og Højde til 64pt. Dette giver et specifikt område, hvor teksten kan vises. Hvis du har for meget tekst til at passe ind i dette område, vil det blive afskåret.

Desuden, indstil den vandrette justering til at være venstrejusteret (Flush Left).

Når du er færdig med labelens egenskaber, skal du placere den ved siden af "Points" titlen.

Får Point

Nu skal vi øge dine point hver gang du får en mønt. Skift tilbage til dit hovedlag og gå tilbage til adfærd for murstenen med mønterne, så vi kan tilføje de nødvendige adfærd.

Fra UI kategorien, træk Add To Score adfærden ind, og forbind den til den anden Move By adfærd, der blev tilføjet tidligere i denne guide.

Næste, tryk på Add To Score adfærden, og slå Ubegribelig score til. Hvis denne toggle var lukket, ville den næste adfærd blive udløst, når den angivne score er nået. Sørg også for, at "0" label er valgt som det korrekte objekt, da Add To Score adfærden automatisk vil vælge en tilfældig label i din scene.

Hvis du trykker play nu, vil du tjene 1 point for hver gang spilleren rammer murstenen.

Nu kan du duplikere denne mursten (som du lærte i del 3) og placere den rundt i dit niveau.

Individuelle Mønter

Din første mønt

Nogle gange vil du måske bare tilføje mønter rundt i dit niveau uden at gemme dem inde i mursten. Dette er relativt simpelt, og vi vil gennemgå det nu.

Start med at tilføje din møntgrafik til din scene, og tryk derefter på den for at se objektets egenskaber.

Fra bunden af objektets egenskaber, sørg for at fysik fanen er valgt.

Mens i fysikfanen, gør mønten passabel. Dette tillader vores spiller at fortsætte med at løbe gennem den uden at blive stoppet eller bremset.

Næste skal vi justere kollisionsgrænserne for mønten. Kollisionsgrænserne definerer den fysiske form af objektet. Kollisionsgrænserne kan være en anden størrelse eller form end objektets visuelle udseende. For at justere kollisionsgrænserne, skal du trykke på kollisionsikonet.

Fra Kollisionsredigerede kan du bruge værktøjspaletten til venstre til at modificere og oprette unikke kollisionsformer.

I denne guide vil vi vælge "Cirkle"-muligheden for at oprette en cirkelformet kollisionsgrænse.

Næste, træk den grønne prik på cirklen for at ændre størrelsen på kollisionsgrænsen. Gør kollisionsgrænsen samme størrelse som mønten. Bemærk, at hvis kollisionsgrænsen er større end dit objekt, så kan din spiller interagere med det, selv før det fysiske berører møntgrafikken i midten.

Når du er færdig med at oprette kollisionsgrænsen, tryk på checkmark-ikonet i værktøjspaletten for at acceptere og gemme den nye form.

Tryk igen på mønten for at se objektets egenskaber. Denne gang åbner du adfærdsredigereren for mønten.

Fra Objekt kategorien, tilføj Collided adfærden på skærmen. Ligesom før, åbn de kolliderede adfærdsegenskaber og vælg den grønne rumfarer som Objekt B.

Næste, fra UI kategorien, træk Add to Score adfærden ind, og forbind den til den kolliderede. Igen, fra adfærds egenskaberne, slå indstillingen for Ubegribelig score til, og sørg for, at den korrekte scoringslabel er valgt.

Endelig, fra Objekt kategorien, tilføj Destroy Object adfærden og forbind den til den kolliderede adfærd. Dette vil fuldstændigt fjerne mønten, så snart spilleren løber ind i den.

Hvis du trykker play nu, kan du køre ind i mønten, og den vil forsvinde.

Det er det! Nu har dit platformspil samleobjekter i form af mønter. På dette tidspunkt skal du blot duplikere dine mønter og placere dem rundt i dit niveau. Prøv at være kreativ med placeringen af dine mønter!

Du kan downloade den færdige version af Del 5 fra huben og se det hele i aktion.

I Del 6 vil vi begynde at tilføje lidt sværhedsgrad til spillet ved at introducere fjender.