Corona SDK ontwikkel een leuke magische ballentoepassing

In deze zelfstudie gebruiken we de Corona API's en de Lua-programmeertaal om een ​​leuke Magic Ball-app te maken.


Kort overzicht

De ... gebruiken Schudden Gebeurtenis gebouwd in de Corona API, we zullen een applicatie maken die een willekeurig resultaat genereert uit vooraf gedefinieerde woorden. U leert ook om eenvoudige animaties te maken met behulp van de overgang methoden.


Selecteer doelapparaat

Het eerste dat u hoeft te doen, is het platform selecteren waarop u uw app wilt uitvoeren, op deze manier kunt u de grootte kiezen voor de afbeeldingen die u wilt gebruiken.

Het iOS-platform heeft deze kenmerken:

  • iPad: 1024x768px, 132 ppi
  • iPhone / iPod Touch: 320 x 480 px, 163 ppi
  • Iphone 4: 960x640 px, 326 ppi

Voor Android is een beetje anders, omdat je een open platform bent, kun je veel verschillende schermresoluties tegenkomen:

  • Nexus One: 480x800px, 254 ppi
  • Droid: 854x480 px, 265 ppi
  • HTC Legend: 320 x 480 px, 180 ppi

In deze zelfstudie gebruiken we de iPhone / iPod touch als platform.


Interface

Dit is de grafische interface die we gaan gebruiken, deze bevat een driehoekige afbeelding die zal dienen als de Octohedron die te vinden is in Magic Balls.


PNG's exporteren

Afhankelijk van het apparaat dat u hebt geselecteerd, moet u de afbeeldingen in de aanbevolen PPI exporteren, u kunt dit doen in uw favoriete foto-editor.

Ik gebruikte de Grootte aanpassen ... functie in de Preview-app in Mac OS X.

Vergeet niet om de afbeeldingen een beschrijvende naam te geven en deze in uw projectmap op te slaan.


Code!

Tijd om onze applicatie te schrijven!

Open de gewenste Lua-editor (elke teksteditor werkt, maar u hoeft geen syntax te markeren) en bereid u voor op het schrijven van uw geweldige app.


Verberg status balk

Eerst verbergen we de statusbalk, dit is de balk bovenaan het scherm met de tijd, het signaal en andere indicatoren.

 display.setStatusBar (display.HiddenStatusBar)

Achtergrond

Nu voegen we de achtergrond van de app toe.

 lokale achtergrond = display.newImage ("background.png")

Deze regel maakt de lokale variabele achtergrond en gebruikt de tonen API om de opgegeven afbeelding aan het werkgebied toe te voegen. Standaard wordt de afbeelding toegevoegd aan 0,0 met de linkerbovenhoek als referentiepunt.


Octohedron

We herhalen het proces met het octohedron-beeld en plaatsen het in het midden van het werkgebied.

 lokale octohedron = display.newImage ("octohedron.png", 110, 186) octohedron.isVisible = false

De Octothedron is standaard onzichtbaar en verschijnt bij de eerste trilling van het apparaat.


TextField

De volgende code maakt het middelste TextField dat de willekeurige zin weergeeft wanneer een schudgebeurtenis wordt verzonden.

 local textfield = display.newText ("", 0, 0, native.systemFontBold, 14) - Creëer het tekstveld Textfield: setReferencePoint (display.CenterReferencePoint) - Verander referentiepunt naar centrum voor eenvoudige positionering textfield.x = display.contentWidth * 0.5 - Centre TextField textfield.y = display.contentHeight * 0.5 textveld: setTextColor (255, 255, 255) - Zet de tekstkleur op wit

Necesary Variables

De volgende variabelen worden gebruikt om de Shake-gebeurtenis af te handelen.

  • schudden: Een tabel die zal worden gebruikt als een functie-luisteraar voor de schudgebeurtenis.
  • opties: Slaat de woorden op die kunnen worden getoond door de magische bal.
lokale shake = 
lokale opties = "Waarschijnlijk niet", "Nee", "Nee", "Misschien", "Ja", "Waarschijnlijk", "Het is klaar", "Natuurlijk"

Schudfunctie

Deze functie luistert naar een schudgebeurtenis en onthult de octohedron en tekst als deze waar is.

functie schudden: versnellingsmeter (e)
als (e.isShake == true) dan
octohedron.isVisible = true
transition.from (octohedron, alpha = 0) - Show octohedron, animates alpha van 0 tot 1
textfield.text = options [math.random (1, 8)] - Selecteert een willekeurige zin uit de variabele options
transition.from (textfield, alpha = 0) - vervaagt in de tekst
einde
einde

Accelerometer Luisteraar

De Accelerometer-gebeurtenissen zijn gebaseerd op runtime, dus gebruiken we het Runtime-sleutelwoord om de luisteraar toe te voegen.

 Runtime: addEventListener ("accelerometer", schudden)

Icoon

Als alles werkt zoals verwacht, zijn we bijna klaar om onze app te bouwen voor apparaattesten. Nog één ding, ons toepassingspictogram.

Met behulp van de afbeeldingen die u hebt gemaakt voordat u een mooi en goed uitziend pictogram kunt maken, is de pictogramgrootte voor de iPhone-pictogrammen 57x57 px, maar de iTunes Store gebruikt een 512x512 px dus het is beter om uw pictogram in dit formaat te maken.

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


Conclusie

Schudgebeurtenissen zijn gemakkelijk te detecteren en echt nuttig, je kunt ze elke functionaliteit geven, zoals wissen, ongedaan maken, in willekeurige volgorde schudden of een willekeurig antwoord krijgen, net zoals je in deze zelfstudie hebt gedaan.

Bedankt voor het lezen!