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.
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.
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:
Omdat Android een open platform is, zijn er veel verschillende apparaten en resoluties. Een paar van de meest voorkomende schermkenmerken zijn:
In deze zelfstudie concentreren we ons op het iOS-platform, dat zich specifiek ontwikkelt voor distributie naar een iPhone / iPod touch.
Dit is de grafische interface die we gaan gebruiken, deze bevat een driehoeksgrafiek die dienst doet als positiemeter.
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.
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.
Eerst verbergen we de statusbalk, dit is de balk bovenaan het scherm met de tijd, het signaal en andere indicatoren.
display.setStatusBar (display.HiddenStatusBar)
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.
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
De volgende variabelen worden gebruikt om de accelerometer-gebeurtenis af te handelen.
local acc = local centerX = display.contentWidth * 0.5
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.
De Accelerometer-gebeurtenissen zijn gebaseerd op runtime, dus gebruiken we het Runtime-sleutelwoord om de luisteraar toe te voegen.
Runtime: addEventListener ("accelerometer", acc)
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.
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!