Corona SDK maak een Rapid Roll-like game - Laatste stappen

Welkom bij de laatste zelfstudie in onze Rapid Roll-gameserie! In deze zelfstudie behandelen we de bewegingen van de speler, botsingen en de stappen om de uiteindelijke app te bouwen.


Waar we zijn gebleven ...

Controleer alsjeblieft deel 1 en deel 2 van de serie om deze tutorial volledig te begrijpen.

Stap 1: Spelerbeweging

De speler wordt ingedrukt door de variabele moveSpeed.

 functie-update (e) - Spelersbeweging player.y = player.y + moveSpeed

Stap 2: blokkeert beweging

De variabele moveSpeed ​​beïnvloedt ook de blokken in de tegenovergestelde richting.

 voor i = 1, blocks.numChildren do - Blocks Verplaatsingsblokken [i] .y = blocks [i] .y - moveSpeed ​​end

Stap 3: Update Score

De spelscore verhoogt elk frame, deze code wijzigt het tekstveld.

 -- Score score = score + 1 score TF.text = score

Stap 4: Lose Lives

Als de speler de bovenkant van het podium bereikt, wordt een leven verwijderd.

 -- Lose Lives if (player.y> display.contentHeight of player.y < -5) then player.x = blocks[blocks.numChildren - 1].x player.y = blocks[blocks.numChildren - 1].y - player.height lives = lives - 1 livesTF.text = 'x'… lives end

Stap 5: Controleer op Game Over

Wanneer de speler geen levens heeft, wordt de waarschuwingsfunctie gebeld. Deze functie stopt het spel en onthult de uiteindelijke score.

 -- Controleer of Game Over if (levens < 0) then showAlert() end

Stap 6: niveaus

U kunt zoveel niveaus toevoegen als u wilt, dit is een voorbeeld van hoe u een niveau kunt toevoegen.

Toen de score 500 bereikte, neemt de zwaartekracht met 1 toe, hierdoor wordt het spel sneller en moeilijker om op de platforms te landen.

 -- Niveaus indien (score> 500 en score < 502) then moveSpeed = 3 end end

Stap 7: Grijp levens

De grafische afbeelding van het leven zal worden verwijderd en de lives-teller zal toenemen wanneer de speler een live sprite raakt.

 function collisionHandler (e) - Grab Lives if (e.other.name == 'live') then display.remove (e.other) e.other = nil lives = lives + 1 livesTF.text = 'x' ... lives einde

Stap 8: Hit Bad Block

Als de speler een slecht blok raakt, wordt een leven verwijderd uit het levensteller- en tekstveld.

 -- Bad Blocks if (e.other.name == 'bad') lives dan = lives - 1 livesTF.text = 'x' ... lives end end

Stap 9: Show Alert

Deze functie stopt het spel en onthult de uiteindelijke score.

 function showAlert () gameListeners ('rmv') local alert = display.newImage ('alertBg.png', 70, 190) alertScore = display.newText (scoreTF.text ... '!', 134, 240, native.systemFontBold, 30 ) livesTF.text = "transition.from (alert, time = 200, xScale = 0.8) end

Stap 10: Hoofdfunctie oproepen

Om het spel in eerste instantie te starten, is de Hoofd functie moet worden gebeld. Met de bovenstaande code op zijn plaats, doen we dat hier:

 Hoofd()

Stap 11: scherm laden

Het bestand Default.png is een afbeelding die juist wordt weergegeven wanneer u de toepassing start terwijl de iOS de basisgegevens laadt om het hoofdscherm weer te geven. Voeg deze afbeelding toe aan uw projectbronmap en deze wordt automatisch toegevoegd door de Corona-compileermachine.


Stap 12: Icoon

Met behulp van de afbeeldingen die u eerder hebt gemaakt, kunt u nu een mooi en goed uitziend pictogram maken. De pictogramgrootte voor het niet-retina-iPhone-pictogram is 57x57px, maar de netvliesversie is 114x114px en de iTunes-winkel heeft een 512x512px-versie nodig. Ik stel voor eerst de 512x512-versie te maken en vervolgens de overige formaten te verkleinen.

Het hoeft niet de afgeronde hoeken of de transparante schittering te hebben, iTunes en de iPhone zullen dat voor je doen.


Stap 13: Testen in Simulator

Het is tijd om de laatste test te doen. Open de Corona Simulator, blader naar uw projectmap en klik vervolgens op Openen. Als alles werkt zoals verwacht, bent u klaar voor de laatste stap!


Stap 14: Bouw

Ga in de Corona Simulator naar Bestand> Build en selecteer uw doelapparaat. Vul de vereiste gegevens in en klik op bouwen. Wacht een paar seconden en uw app is gereed voor apparaattesten en / of verzending voor distributie!


Conclusie

Experimenteer met het eindresultaat en probeer je aangepaste versie van het spel te maken!

Ik hoop dat je deze tutorialserie leuk vond en het nuttig vond. Bedankt voor het lezen!