Corona SDK maak een Accelerometer-gestuurde toepassing

De Corona SDK is een platformonafhankelijk raamwerk waarmee ontwikkelaars applicaties voor zowel iPhone als Android kunnen maken met behulp van de Lua-programmeertaal. In deze zelfstudie ontdekken we de mogelijkheden van de Corona SDK voor interactie met de Accelerometer van het apparaat. We zullen een eenvoudige app maken die reageert op accelerometergebeurtenissen.


Gerelateerde Corona SDK-zelfstudies:

  • Inleiding tot Corona SDK: eenvoudige ontwikkeling van meerdere platformen
  • Corona SDK: een analoge klok-app maken
  • Corona SDK: maak een Accelerometer-gestuurde toepassing

Accelerometer applicatie-overzicht

Met behulp van de Corona API's maken we een basistoepassing die de beweging van het apparaat registreert op basis van de waarde van de versnellingsmeter, waarbij een object op het scherm wordt verplaatst.


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

Omdat Android een open platform is, zijn er veel verschillende apparaten en resoluties. Een paar van de meest voorkomende schermkenmerken zijn:

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

In deze zelfstudie concentreren we ons op het iOS-platform, dat zich specifiek ontwikkelt voor distributie naar een iPhone / iPod touch.


Interface

Dit is de grafische interface die we gaan gebruiken, deze bevat een driehoeksgrafiek die dienst doet als positiemeter.


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 hebt mogelijk geen syntaxmarkering) 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.


Indicator

We herhalen het proces met het positie-indicatorbeeld en plaatsen het in het midden van het werkgebied.

 lokale indicator = display.newImage ("indicator.png") indicator: setReferencePoint (display.CenterReferencePoint) indicator.x = display.contentWidth * 0.5 indicator.y = display.contentWidth * 0.5 + 100

Benodigde variabelen

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

  • acc: Een tabel die zal worden gebruikt als een functie-luisteraar voor de accelerometergebeurtenis.
  • centerX: Slaat de horizontale middenwaarde van de stage op.
 local acc =  local centerX = display.contentWidth * 0.5

Accelerometer-functie

Deze functie gebruikt de acc tabel om een ​​luisteraar voor de versnellingsmeter te maken, de xGravity eigenschap (onderdeel van de versnellingsmeter) en de variabele centerX verplaatst de positie-indicator volgens de berekende positie.

 functie acc: accelerometer (e) indicator.x = centerX + (centerX * e.xGravity) einde

Hierdoor zal onze indicator in balans komen als de inclinatie van het apparaat verandert, de xGravity property zal de zijwaartse bewegingen verwerken, u kunt de yGravity eigenschap om hellingssoorten op / neer te hanteren.


Accelerometer Luisteraar

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

 Runtime: addEventListener ("accelerometer", acc)

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

Met deze zelfstudie leert u hoe u Accelerometer-gebeurtenissen kunt gebruiken om elementen in een bepaalde fase te manipuleren. Er zijn veel manieren om deze code toe te passen, waarbij basispersonage in een spel een van de meer prominente opties is.

Bedankt voor het lezen van deze tutorial. Ik hoop dat je het nuttig hebt gevonden. Veel plezier met het experimenteren met de versnellingsmeter van het apparaat!