Del 5: Lägga till mynt och poäng | hyperPad Documentation

Loading...

Logo
DocumentationKomplett guide - Skapa ett plattformsspelDel 5: Lägga till mynt och poäng
Komplett guide - Skapa ett plattformsspel

Del 5: Lägga till mynt och poäng

Last updated September 19, 2015

Introduktion

Med Del 4 avslutad, bör du nu ha en nivå och en spelbar karaktär som kan springa och hoppa runt.

Nu behöver vi ge vår spelare ett syfte. För denna del av guiden kommer vi att lägga till samlarmynt och en poängräkning för att hålla koll på dem.

Mynt som gömmer sig i block är en av Marios mest ikoniska funktioner. Låt oss börja denna tutorial med att skapa den funktionen.

Gömma mynt i tegel

Slå på tegelstenen

Vi kommer att göra vår första tegelsten på ett sätt så att vi snabbt kan modifiera den för att hålla så många mynt vi behöver. När tegelstenen är klar, kan du duplicera den och placera den var som helst du vill.

Denna tutorial bygger vidare på Del 4, och antar att du har branchat Del 4-projektet från navet.

Börja med att välja en av tegelstenarna som kommer att hålla mynt. Från objektets egenskaper, tryck på knappen "Beteenden" för att öppna beteendeeditorn.

Från Objekt kategorin, lägg till beteendet Kolliderat. Beteendet Kolliderat kommer att utlösa en händelse varje gång 2 specificerade objekt rör vid varandra.

Tryck på Kolliderat-beteendet du just lade till för att se dess egenskaper. Du kan se att det finns 2 rutor för valbara objekt (Kallad Objekt A, och Objekt B). Den första (Objekt A) är vald för dig, och det är den du applicerar beteendena på. Du kan trycka för att ändra detta om du vill, men vi lämnar det som det är.

Den tomma rutan är för ditt andra objekt (Objekt B), vilket det kolliderade beteendet kommer att kontrollera mot. Tryck på den tomma rutan och välj din spelkaraktär som du lade till i Del 4 av guiden.

Med dina objekt valda kan du nu ändra vilket avsnitt av Objekt B som kommer att utlösa den kolliderade händelsen. Stäng av alla toggle-knappar, förutom alternativet "Överst". Nu kommer det Kolliderade beteendet endast att fungera när toppen av spelkaraktären rör vid tegelstenen.

Nu när tegelstenen kontrollerar om spelarens huvud rör vid den, låt oss få den att studsa upp och ner. För att göra detta kommer vi att använda Flytta Med beteenden för att flytta den uppåt, och sedan tillbaka ner.

Från Transformera kategorin, lägg till beteendet Flytta Med och koppla det till det Kolliderade beteendet du tidigare lade till.

Tryck på Flytta Med beteendet, och se dess egenskaper. Eftersom vi vill flytta tegelstenen upp när spelaren träffar den, kommer vi att ändra Y-Värdet. Sätt detta till ett litet nummer eftersom vi bara vill ge den en liten studs effekt. Jag använde 0.20 meter.

Du kommer också att behöva ändra Varaktigheten. Varaktigheten är tiden det tar för rörelsen att slutföras. Som standard är varaktigheten inställd på 1, men detta innebär att tegelstenen kommer att röra sig 0.2 meter över 1 sekund. Detta är alldeles för långsamt för våra behov. Ändra varaktigheten till 0.10 sekunder.

Obs: Att ställa in en varaktighet på noll kommer att få ditt objekt att röra sig omedelbart till den nya positionen. Det kommer inte att animeras smidigt. Observera också rutan med texten "Linjära". Detta är rörelsetween-effekten som appliceras på din rörelse. Om ditt beteende har en varaktighet, kommer det att röra sig baserat på denna effekt.

Nu för att få tegelstenen att studsa tillbaka, lägg till ett annat Flytta Med beteende och koppla det till det föregående.

Återigen, ändra egenskaperna. Denna gång vill vi att tegelstenen ska röra sig tillbaka ner. För att röra den neråt, ändra Y-Värdet till ett negativt nummer. Eftersom vi vill att tegelstenen ska röra sig tillbaka till sin ursprungliga position, kommer vi att flytta den med -0.20 meter. Du måste också ändra varaktigheten till 0.10 sekunder.

Vid denna tidpunkt, om du trycker på spela kan din spelare träffa tegelstenen från botten och tegelstenen kommer att studsa upp och ner. Men det finns några problem som vi behöver ta itu med.

  1. Det finns en liten bugg i vår logik. Om spelaren fortsätter att hoppa riktigt snabbt utan att låta rutan återgå till den ursprungliga positionen, kommer den att fortsätta att röra sig uppåt.

  2. Tegelstenen studsar för alltid. Tänk om du bara vill ha några mynt, då slutar den när den är tom?

  3. Den ger ännu inga mynt.

Låt oss börja med att ta itu med problem 1. Detta är faktiskt en enkel bugg att fixa. Allt vi behöver göra är att stänga av kollisionbeteendet så snart spelaren träffar den, och sedan slå på det igen när det är klart med att röra sig.

För att göra detta, växla till Custom kategorin, och lägg till "Beteende Av", koppla sedan detta till Kolliderat beteendet.

Nästa, från Beteende Av egenskaper, tryck på den tomma rutan märkt "Välj Beteende". Från listan, lokalisera det korrekta Kolliderat-beteendet. Observera att listan visar alla beteenden, från alla objekt. Listan sorteras baserat på objektets namn.

Nu måste du slå på det kolliderade beteendet igen när det är klart med studs. För att göra detta, lägg helt enkelt till en Beteende På från Custom kategorin och koppla den till den andra Flytta Med beteende. Från beteendeegenskaperna, se till att du väljer Kolliderat beteendet för att slå på det igen.

För problem 2, kommer vi att använda en boxcontainer för att ställa in mängden mynt varje tegelsten håller. Att göra detta gör det möjligt för oss att enkelt ändra specifika tegelstenar till att ha fler eller färre mynt.

Det första du bör göra är att lägga till en boxcontainer från Custom kategorin, du kan placera denna var som helst på skärmen då den inte kopplar till något annat. Du kan också döpa denna boxcontainer till "Mynt" så att det blir enklare att hitta senare (för att komma ihåg hur man döper beteenden, kolla in Del 4)

Från beteendeegenskaperna för Coins box container, ändra egenskapen "Standardvärde" till 3. Detta kommer att vara hur många mynt tegelstenen håller.

Nu från Logik kategorin, lägg till ett Addera Värden beteende och koppla det till den andra Flytta Med vi lade till tidigare. Vi kommer att använda detta Addera Värden beteende för att hålla reda på varje gång spelaren träffar tegelstenen.

När "Addera Värden" beteendet är kopplat, tryck på det för att se beteendeegenskaperna. Egenskaperna visar 2 inmatningsfält, och "Addera Värden" beteendet kommer att ge summan av de inmatade värdena.

I vårt fall, eftersom vi använder add value för att hålla reda på varje träff, kommer vi att ange 1 i det övre fältet, och för det nedre fältet kommer vi att ge summan av Addera Värde beteendet tillbaka till det andra inmatningsfältet.

Vad det här gör är att öka summan varje gång beteendet körs. Första gången beteendet körs kommer det att vara 1+0 eftersom det inte finns någon summa. Andra gången det körs kommer det att vara 1+1, eftersom summan från föregående gång är lagrad.

Nästa, behöver du kontrollera om summan från de adderade värdena är densamma som Coins box container som du tidigare har lagt till.

För att göra detta, lägg till en OM beteende från Logik kategorin och koppla den till Addera Värden från föregående steg.

Med OM kopplad, tryck på den för att se beteendeegenskaperna. OM-beteendet kommer att kontrollera om ett specifikt villkor uppfylls (baserat på de 2 inmatningsfälten och det valda villkoret).

I detta fall kommer vi att ge (dela) summan av adderingsbeteendet, och placera den i det första fältet i OM.

Därefter ger vi innehållet från boxcontainern till det andra.

Med dessa värden inmatade kommer nästa beteende kopplat endast att köras OM summan av adderat värde är lika med det värde som lagrats i myntboxcontainern.

Nu måste du stänga av det kolliderade beteendet, och ändra grafiken så att du inte kan få fler mynt. För att göra detta, lägg till ett nytt Beteende Av beteende från Custom kategorin, och koppla den till OM. Som tidigare, välj Kolliderat beteende som den du vill stänga av.

För att visa spelaren att det inte finns fler mynt kvar, kan du lägga till Ändra Grafisk beteendet från Transformera kategorin, och koppla det till OM.

När det är kopplat, välj en ny grafik från Ändra Grafisk beteendeegenskaper. Tryck på den andra rutan i beteendeegenskaperna och välj en ny grafik.

Nu om du trycker på spela, kan du hoppa upp och träffa tegelstenen 3 gånger innan den slutat.

Få poäng

Ställa in UI

Det nästa som återstår är att faktiskt få poäng och samla mynt när du träffar tegelstenen!

Det första vi ska göra är att lägga till en räknare i hörnet av skärmen för att berätta för spelaren hur många poäng de har.

Så, gå tillbaka till huvudredigeraren genom att trycka tillbaka från beteendeeditorn. Därefter måste du dra upp Lager fältet genom att trycka på de 3 punkterna på högra sidan av skärmen (du kan också svepa från skärmens kant).

Välj Global UI lagret. UI-lager finns ovanpå de andra lagren i scenen och används typiskt för knappar, joystickar och etiketter. De finns också på samma plats på skärmen, och verkar röra sig med resten av innehållet i din scen.

Obs: Objekt som placeras på Global UI-lagret kommer att finnas i varje scen i ditt projekt. Om du vill att något bara ska förekomma i en scen, använd Scene UI-lagret.

Med Global UI-lagret valt, tryck på Speciella Objekt provrörikonen i dockan, eller dra den till scenen.

Från popupen välj Etikett, och en etikett kommer att placeras i din scen.

Tryck på den nyligen tillagda etiketten för att öppna objektets egenskaper. Från etikettens egenskaper kan du ändra textfärgen, teckensnittet, texten som ska visas, och mer.

Tryck på den stora textrutan och ändra texten till "Poäng:".

Nästa, tryck på "Justering" för att expandera justeringsegenskaperna. Ställ in Bredd till 110 och Höjd till 64.

Obs: Att ställa in dessa till 0, tar bort textrutan, och gör att din text kan växa horisontellt oändligt.

Med etikettegenskaperna färdiga kan du använda Flytta/Transformera verktyget för att positionera din nya etikett i hörnet av skärmen och se till att den inte blockerar spelarens vy.

När din etikett är positionerad, lägg till en annan etikett i scenen, denna gång ska vi använda denna etikett för att visa dina poäng. Denna gång sätt texten till att vara 0, eftersom din spelare börjar med noll poäng. Till skillnad från tidigare, kommer vi att ställa in en specificerad bredd och höjd. Ställ in Bredd till 500pt, och höjden till 64pt. Detta ger ett specificerat område där texten kan visas. Om du har för mycket text för att få plats i detta område kommer den att klippas av.

Ställ också in den horisontella justeringen till vänsterjusterad (Flush Left).

När du är klar med etikettegenskaperna, positionera den bredvid "Poäng" titeln.

Få poäng

Nu behöver vi öka dina poäng varje gång du får ett mynt. Växla tillbaka till ditt huvud-lager och gå tillbaka till beteendena för tegelstenen med mynten så vi kan lägga till de nödvändiga beteendena.

Från UI kategorin, dra på beteendet "Lägg till till Poäng", och koppla det till den andra Flytta Med beteende som lades till tidigare i denna guide.

Nästa, tryck på Lägg till till Poäng beteendet, och slå på Oändlig Poäng toggeln. Om denna toggle var av, skulle nästa beteende utlösas när den specificerade poängen uppnås. Se också till att "0" etiketten är vald som korrekt objekt, då Lägg till till Poäng beteendet automatiskt kommer att välja en slumpmässig etikett i din scen.

Om du trycker på spela nu, kommer du att få 1 poäng varje gång spelaren träffar tegelstenen.

Nu kan du duplicera denna tegelsten (som du lärde dig i del 3), och placera den runt om i din nivå.

Individuella mynt

Ditt första mynt

Ibland kan du vilja lägga till mynt i hela din nivå utan att gömma dem inuti tegelstenar. Detta är relativt enkelt, och vi kommer att gå igenom det nu.

Börja med att lägga till din myntgrafik i din scen, tryck sedan på den för att se objektets egenskaper.

Från botten av objektets egenskaper, se till att fysik fliken är vald.

Med Fysikfliken öppen, gör myntet passabelt. Att göra detta gör att vår spelare kan fortsätta springa igenom det utan att stoppas eller saktas ner.

Nästa kommer vi att justera kollisionsgränserna för myntet. Kollisionsgränserna definierar den fysiska formen av objektet. Kollisionsgränserna kan vara en annan storlek eller form än objektets visuella utseende. För att justera kollisionsgränserna, tryck på Kollisionsikonen.

Från Kollisionseditorn kan du använda verktygspaletten till vänster för att modifiera och skapa unika kollisionsformer.

För denna handledning kommer vi att välja "Cirkeln" alternativet för att skapa en cirkelkollisionsgräns.

Nästa, dra den gröna punkten på cirkeln för att ändra storleken på kollisionsgränsen. Gör kollisionsgränsen lika stor som myntet. Observera att om kollisionsgränsen är större än ditt objekt, kan din spelare interagera med den även innan den fysiskt rör vid myntgrafiken i mitten.

När du är klar med att skapa kollisionsgränsen, tryck på bockikonen i verktygspaletten för att acceptera och spara den nya formen.

Återigen, tryck på myntet för att se objektets egenskaper. Denna gång öppna beteendeeditorn för myntet.

Från Objekt kategorin, lägg till beteendet "Kolliderat" på skärmen. Precis som tidigare, öppna kollissionsbeteendeegenskaperna, och välj den gröna rymdmannen som spelare för Objekt B.

Nästa från UI kategorin, dra på Lägg till till Poäng beteende, och koppla det till kolliderat. Återigen, från beteendeegenskaperna, slå på toggeln för Oändlig Poäng, och se till att rätt poängetikett är vald.

Slutligen, från Objekt kategorin, lägg till Ta Bort Objekt beteendet, och koppla det till kolliderat beteendet. Detta kommer att helt ta bort myntet så snart spelaren springer in i det.

Om du trycker på spela, kan du nu springa in i myntet, och det kommer att försvinna.

Det är allt! Nu har ditt plattformsspel samlarmynt. Vid det här laget, allt du behöver göra är att duplicera dina mynt och placera dem runt om i din nivå. Försök att vara kreativ när du placerar dina mynt!

Du kan ladda ner den färdiga versionen av Del 5 från Navet och se allt i aktion.

I Del 6 kommer vi att börja lägga till en del svårigheter i spelet genom att introducera fiender.