speaker Multimusen

Corona Day I

March 24th, 2014 by

Agenda

  • 09:00 – 10:30  1) The Android Apps (homework).
    Then the Corona SDK (installing this was your homework).
    And finally – a short introduction to Lua.
  • 10:30 – 10:45 Break
  • 10:45 – 11:30 2) Corona Projekter
  • 11:30 – 12:00 Lunch
  • 12:00 – 13:00 3) Lidt om Lua
  • 13:00 – 13:15 BREAK
  • 13:15 – 14:00 4) Tutorial – på egen hånd.

Litteratur

1) Introduktion til Corona SDK

Åbn din yndlings editor og skriv noget a la det her:

main.lua (klik på linket for at se filen i git)

  • Gem filen som main.lua i en mappe, som du fx kalder hejVerden.
  • Start Corona SDK.
  • Åbn filen ( File / Open / hejVerden / main.lua )

I emulatoren ser du nu din fil, som den vil tage sig ud på en Android eller en iPhone:

Hej verden i emulatoren.

Hej verden i emulatoren.

Corona Projekter

Corona projekter gemmes i en mappe, der består af et antal Lua filer. Her er et typisk (og stadig meget enkelt eksempel):

Lua filer

Lua filer

Det er altid en god ide at gemme billeder og ikoner i undermapper. Du kan fx kalde disse mapper “icons”, “images” eller “billeder”.

Videre på egen hånd:

  • Corona Quick Start Guide.
  • Leg med flere tekster.
  • Giv teksterne farver.
  • Tilføj fx geometriske former. Prøv at søge efter “corona draw circle” eller “corona draw square” via en søgemaskine.
  • Flyt teksterne så de viser sig flere steder på skærmen.
  • Tilføj din egen baggrund via et .png billede i en passende størrelse (Du skal naturligvis selv lave din grafik i Photoshop).
  • Prøv at skalere baggrunden.

Her er et eksempel “Hej Verden 2” , som inpiration. Bemærk, hvordan baggrunden skaleres. Baggrunden er 1140 x 636 px. Indholdet er tilpasset en iPhone 5; men hvordan får man baggrunden til at matche fx Samsung Galaxy?

iPhone5-hejVerden2

Build

Når du er tilfreds med arbejdet skal filen kompileres til et format de mobile enheder forstår. Du kan vælge mellem:

  • Android (shift + cmd + B).
  • iPhone (cmd + b) (kræver at iOS SDK er installeret).
iOs licens (2014)

iOs licens (2014)

Ignorer reklamen – eller vent 20 sek – så er filen klar.

2) Lidt om Lua

Programmeringssproget Lua er et enkelt programmeringssprog, der i høj grad minder om ActionScripts som Du måske kender fra Adobe Flash.

Luafiler skrives, som sagt, i en editor – og her kan Du frit vælge den editor, som passer dig bedst, fx:

  • Notepad++
  • TextWrangler
  • Pico, Nano, Vi, Vim, Edit
  • Emacs
  • Etc.

Variabler

Luas syntaks er mere enkel end PHP. Du behøver ikke at afslutte med et “;”. Men det er heller ikke forbudt. En variablel kan altså skrives sådan:

farmor = “Anna Jensen”;

eller

farmor = “Anna Jensen”

Det er praktisk at sætte sig ind i sprogets syntaks. Det gør det videre arbejde med Corona meget lettere. Derfor vil kort kaste et blik på dele af Lua, som Du kan bruge i kodearbejdet.

  • farmor = NIL
  • farmor = 2
  • farmor = 3.14159265359
  • farmor = true
  • farmor = false

Funktioner

En funktion defineres sådan i Lua:

function regnUd()

eller

regnUd = function()

Man bruger ikke { … } i Lua; en funktion afsluttes med ordet “end”. Her er et eksempel på en Lua funktion:

do
local cnt = 1
function inc ()  — her kommer funktionen
cnt = cnt + 1
return cnt
end
cnt = 5          — værdi ændres efter at funktionen afvikles
end

print(inc())       –> Output 6

Tables (~ arrays i PHP / ActionScript)

En table defineres sådan:

myTable = { 22, 0.5, “Andersine”, “Rip”, “Anders”}

I stil med andre sprog kan du hente en værdi fra myTable sådan:

  • myTable[0] -> 22
  • myTable[2] -> “Andersine”
  • print(myTable[3]) -> skriver Rip i terminalvinduet

Regning og matematik

a = 22

b = 1

print(a+b) -> 23

Eftersom Coronas kode anvender Luas logik kan du foretage alle mulige beregninger ved +, -, *, /, <, >, <= etc.

Loops (løkker)

Defineres fx sådan:

for variable = begyndelse, slut, tæller do
det-som-skal-ske
end

Eksempel

for i = 1, 10, 1 do

print(i)

end

eller med while:

while condition do
chunck
end

fx

while a < 10 do

a = a + 3

print(a)

end

Disse eksempler er ikke naturligvis ikke alt om Lua; men nok til at få en fornemmelse af sproget.

Eksempler på Corona og Lua

Denne main.lua fil viser eksempler på, hvordan man kan bruge Lua i en Corona App.

I filen er en række øvelser til videre udforskning.

Game Development Crash Course

Her er en god tutorial – et lynkursus i spilprogrammering: