In deze tutorialserie laat ik je zien hoe je een op geluid gebaseerd geheugenspel kunt maken met de Corona SDK. Je leert over het laden en spelen van geluiden en het opslaan van informatie in Lua Tables. Het doel van het spel is om het niveau geluid te reproduceren door op de gekleurde vierkanten te tikken. Lees verder!
Met behulp van vooraf gemaakte afbeeldingen coderen we een leuk spel met Lua en de Corona SDK API's.
De speler kan de schermknoppen gebruiken om de huidige geluidsreeks te reproduceren, u kunt de parameters in de code aanpassen om het spel aan te passen.
Het eerste wat we moeten doen is het platform selecteren waar we onze app binnen willen laten, op deze manier kunnen we de grootte kiezen voor de afbeeldingen die we zullen 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 met het grafische ontwerp, dat specifiek wordt ontwikkeld voor distributie naar een iPhone / iPod touch, maar de hier gepresenteerde code moet ook van toepassing zijn op Android-ontwikkeling met de Corona SDK.
Er zal een eenvoudige en gebruiksvriendelijke interface worden gebruikt, dit omvat meerdere vormen, knoppen, bitmaps en meer.
De interface grafische hulpmiddelen die nodig zijn voor deze tutorial zijn te vinden in de bijgevoegde download.
Afhankelijk van het apparaat dat u hebt geselecteerd, moet u mogelijk de afbeeldingen in de aanbevolen PPI exporteren, u kunt dit doen in uw favoriete afbeeldingseditor.
Ik gebruikte de Grootte aanpassen ... functie in de Preview-app op Mac OS X.
Vergeet niet om de afbeeldingen een beschrijvende naam te geven en deze in uw projectmap op te slaan.
Een extern bestand zal worden gebruikt om de applicatie op verschillende apparaten op volledig scherm weer te geven, de config.lua het dossier. Dit bestand toont de oorspronkelijke schermgrootte en de methode die wordt gebruikt om die inhoud te schalen in het geval de app wordt uitgevoerd in een andere schermresolutie.
toepassing = content = width = 320, height = 480, scale = "letterbox",
Laten we de applicatie schrijven!
Open de gewenste Lua-editor (elke teksteditor werkt, maar u hebt geen syntaxmarkering) en
bereid je voor om je geweldige app te schrijven. Vergeet niet om het bestand op te slaan als main.lua in je projectmap.
We zullen onze code structureren alsof het een Klasse is. Als u ActionScript of Java kent, zou u de structuur vertrouwd moeten vinden.
Necesary Classes Variabelen en constanten Declare Functions contructor (Hoofdfunctie) class methods (other functions) call Hoofdfunctie
display.setStatusBar (display.HiddenStatusBar)
Deze code verbergt de statusbalk. De statusbalk is de balk boven op het scherm van het apparaat die de tijd, het signaal en andere indicatoren toont.
Een eenvoudige afbeelding wordt gebruikt als achtergrond voor de applicatie-interface, de volgende regel code slaat deze op.
-- Graphics - [Background] local bg = display.newImage ('bg.png')
Dit is de titelweergave, het zal het eerste interactieve scherm zijn dat in onze game verschijnt, deze variabelen slaan de componenten op.
-- [Title View] lokale titel local playBtn local creditsBtn local titleView
Deze weergave toont de credits en copyright van het spel, deze variabele zal worden gebruikt om het op te slaan.
-- [CreditsView] local creditsView
De knoppen die worden gebruikt om het geluid weer te geven.
-- Kleur Vierkanten lokaal r = lokaal g = lokaal ye = lokaal b =
Een instructiesbericht verschijnt aan het begin van het spel. Als het bericht wordt gesloten, wordt de geluidssequentie afgespeeld.
-- Instructies lokale ins
Deze knop vergelijkt de gebruikersinvoer met het huidige niveau om te bepalen of de reeks correct is of niet.
-- Controleer de lokale check van de knop
Dit is de waarschuwing die wordt weergegeven als je de game wint. Het voltooit het level en beëindigt het spel.
-- Lokale alert melden
We gebruiken Geluidseffecten om het spelgevoel te verbeteren. De geluiden die in deze app worden gebruikt, zijn gegenereerd door AS3SFXR.
-- Geluiden rs = audio.loadSound ('1.mp3') gs = audio.loadSound ('2.mp3') ye.s = audio.loadSound ('3.mp3') bs = audio.loadSound ('4.mp3' )
Dit zijn de variabelen die we zullen gebruiken, lees de opmerkingen in de code om meer over hen te weten.
-- Niveaus, wijzig deze tabellen om meer niveaus te wijzigen of toe te voegen, elke letter staat voor een knop / geluid, dwz r = rood, ye = geel enzovoort lokaal l1 = r, ye, g, b lokaal l2 = ye, r, b, g, b, r, g, ye - Variabelen local lastY local currentLevel = l1 local game Timer local times = 1 local userInput = - slaat de aangetikte knoppen lokaal correct op = 0
Verklaar alle functies als lokaal aan het begin.
-- Lokale functies Main = local startButtonListeners = local showCredits = local hideCredits = local showGameView = local gameListeners = local playLevel = local onTap = local checkInput = local alert =
Vervolgens maken we de functie waarmee alle spellogica wordt geïnitialiseerd:
functie Main () - code ... einde
Nu plaatsen we TitleView in de fase en roepen we een functie aan die de tik luisteraars naar de knoppen.
function Main () title = display.newImage ('title.png', 73, 53) playBtn = display.newImage ('playBtn.png', 140, 245) creditsBtn = display.newImage ('creditsBtn.png', 124, 305) titleView = display.newGroup (title, playBtn, creditsBtn) startButtonListeners ('add') end
In dit deel van de serie heb je de interface en de basisinstellingen van de game geleerd. In het volgende en laatste deel van de serie behandelen we het maken van het niveau, tabelvergelijking en de laatste stappen die moeten worden genomen voorafgaand aan de release, zoals app-testen, het maken van een startscherm, het toevoegen van een pictogram en, ten slotte, het bouwen van de app. Lees nu het laatste deel!