Академический Документы
Профессиональный Документы
Культура Документы
Gabriela
Assinado de forma digital por
Gabriela Davila
DN: cn=Gabriela Davila, o, ou,
Davila
email=gabidavila@gmail.com,
c=BR
Dados: 2012.06.24 20:50:03 -03'00'
GABRIELA DAVILA
Americana, SP
2012
II
GABRIELA DAVILA
gabidavila@gmail.com
Americana, SP
2012
III
BANCA EXAMINADORA
AGRADECIMENTOS
DEDICATRIA
RESUMO
ABSTRACT
The development for mobile platforms is rising in the last four years. And as
the iOS and Android practically dominate the smartphone market, it makes sense to
use a tool that can unite the two platforms and save production time of a game,
hence the Corona SDK, there are other frameworks multi-platform, but the Corona is
gained enough prominence in the last year due easiness of programming it. I hope
that this work adds more knowledge to the game development community in Brazil,
since there is an absence of material in our language.
SUMRIO
AGRADECIMENTOS ................................................................................................. IV
DEDICATRIA ............................................................................................................ V
RESUMO .................................................................................................................... VI
1 INTRODUO ..................................................................................................... 13
6 INSERO DE UDIO........................................................................................ 42
7 GERAO DA BUILD......................................................................................... 47
8 LIMITAES ....................................................................................................... 49
9 CONSIDERAES FINAIS................................................................................. 50
1 INTRODUO
Com base nesses dados, percebe-se que caso um jogo ou aplicativo seja
desenvolvido para mais de uma plataforma, ele poder alcanar quase 91% do
mercado de celulares, por isso o desenvolvimento multiplataforma fica como uma
das opes caso no seja vivel a produo de dois aplicativos distintos.
Ser abordado aqui o Corona SDK voltado para iOS e Android, como
possvel fazer essa programao multi-plataforma com o uso das principais APIs do
Corona.
15
O Corona SDK pertence a Ansca Mobile e foi fundada em 2008 por um time
de programadores que antes trabalharam e contriburam para softwares como
Illustrator, Photoshop e Flash Authoring para a Adobe e Apple.
No Macintosh:
Mac OS X 10.6 ou superior
Processador Intel
CPU 64 bits
Sistema grfico OpenGL 1.4 ou superior
Xcode para Mac OS X
Assinatura no Apple Developer Program (necessrio para testar seus
aplicativos no seu dispositivo)
Editor de Texto
No Windows:
Windows 7, Vista ou XP
Processador de 1GHz (recomendado)
38 MB de disco livre (mnimo)
1 GB de memria RAM (mnimo)
Uma observao pertinente ao criar jogos para iOS que mesmo o Corona
SDK ter uma verso para Windows apesar de o desenvolvimento nessa plataforma
ser suportado, o build deve ser realizado no Macintosh, pois no existe SDK do iOS
para o Windows.
1.2 O simulador
1.3 Licenciamento
Figura 4 - Janela de alerta exibida ao iniciar um jogo no Android, uma imagem similar a essa
exibida no iPhone
18
2 ESTRUTURA DE UM PROJETO
Apesar de ter a extenso diferente dos restantes, esse arquivo usa a sintaxe
da linguagem Lua e nele devem ser inseridas instrues para serem usadas na hora
do build.
21
ela passa ser tratada como uma propriedade. Um exemplo dos tipos de variveis
pode ser encontrado na Figura 6.
Note que o operador ponto foi utilizado pra acessar a propriedade de dentro
da tabela e que quando a tabela visto como uma matriz, usa-se as chaves.
possvel usar tambm as chaves para acessar uma propriedade tal como na matriz.
24
Nesse caso existem construtores para cada um desses tipos de objetos, por
exemplo, display.newRect() cria um VectorObject, no caso um objeto vetorial.
Atualmente, cada vez que um desses construtores so executados, eles
implicitamente adicionam como classe pai o cenrio atual. Porm, existe apenas um
cenrio no Corona, para poder deixar o conjunto de objetos um pouco mais
organizado, pode se usar o parmetro parentGroup, para definir um grupo como o
pai desses objetos (FERNANDEZ, 2012, traduo nossa).
o display.CenterReferencePoint
o display.TopLeftReferencePoint
o display.TopCenterReferencePoint
o display.TopRightReferencePoint
o display.CenterRightReferencePoint
27
o display.BottomRightReferencePoint
o display.BottomCenterReferencePoint
o display.BottomLeftReferencePoint
o display.CenterLeftReferencePoint
[...] Evite alta compresso no JPG, pois pode demorar mais para
carregar em um dispositivo. Arquivos PNG tm melhor qualidade
sobre JPG e so usados para exibir imagens transparentes. JPG no
salvam imagens transparentes.
xAlign yAlign
left top
center* center*
right bottom
* valores padro
4.4.4 Texto
como parmetro para ser alterada, font deve indicar qualquer nome de fonte que
esteja na biblioteca, e por fim, o parmetro size o tamanha do texto. Para font pode
ser usado, algumas constantes do sistema como native.systemFont ou
native.systemFontBold.
5 A API DE Physics
O Corona SDK usa um motor para fsica chamado Box2D (v. 2.1.2), e a
implementao feita pelo Corona permite que toda manipulao seja feita com
poucas linhas. Qualquer DisplayObject pode ser manipulado pela Physics API pois o
Corona trata cada PhysicObject como uma extenso de DisplayObject.
O Box2D trabalha por padro com o sistema mtrico, porm a API facilita seu
uso pois faz todas as converses necessrias para manipular os objetos, (ANSCA,
2012, traduo nossa). A escala padro de 30 pixels por metro e para manter a
consistncia com o resto do SDK todas as medidas so feitas em graus ao invs de
radianos.
Os objetos podem ter seu status alterado ao se usar uma das trs funes a
seguir:
Outra nota a ser tomada que se o parmetro passado for true, isso ir
prevenir que os corpos adormeam, caso false, o responsvel por determinar se
um corpo adormece ou no o SDK. false o valor padro.
5.1.2 Gravidade
5.1.3.1 physics.setScale
Sintaxe: physics.setScale(value)
37
5.1.3.2 physics.setDrawMode
5.1.3.3 physics.setPositionIterations
Sintaxe: physics.setPositionIterations(value)
5.1.3.4 physic.setVelocityIterations
Sintaxe: physics.setVelocityIterations(value)
5.2 Colises
Para detectar uma coliso, o objeto deve ter um listener atrelado chamado
collision. O evento collision possui fases como began e ended, que so
respectivamente os momentos de contato inicial e final durante a coliso. Essas
fases existem tanto para a coliso de dois corpos e sensores. Alm do evento
collision, dois outros eventos opcionais existem e podem ser usados sempre que
dois corpos, no sensores, colidem:
39
Por padro, todos os objetos criados tem forma retangular, corpos circulares
exigem um parmetro a mais, o radius, no caso esse parmetro recebe o raio. No
indicado para corpos ovais, pois o Box2D apenas trata de colises circulares,
retangulares e poligonais.
5.3.2 Sensores
6 INSERO DE UDIO
ring_aac.aac
ring_mp3.mp3
ring_ogg.ogg
43
Sintaxe:
audio.loadStream(audiofilename [, baseDir])
audio.loadSound(audiofilename [, baseDir])
Parmetros:
Exemplo:
6.2.1 audio.play
Sintaxe:
Parmetros:
Ao Sintaxe 1 Sintaxe 2
7 GERAO DA BUILD
Uma vez exibida a aplicao no simulador, acesse o menu File > Build
For > iOS, a seguinte janela aparecer:
Aps essa etapa, basta usar o iTunes para transferir o aplicativo para seu
dispositivo com o iOS.
48
Criar uma build para o Android mais simples, visto que no necessrio
nenhum tipo de chave para gerar os executveis para teste, caso o objetivo seja a
distribuio pelo Google Play, necessrio ter uma Keystore ou uma Key Alias.
Uma vez exibida a aplicao no simulador, acesse o menu File > Build
For > Android, a seguinte janela aparecer:
Aps gerado o build um arquivo no formato apk ser criado e com a ajuda de
algum outro software, como o ASTRO File Manager, copie o arquivo gerado para o
seu dispositivo.
49
8 LIMITAES
No que tange ao poder do seu SDK o Corona deixa a desejar, pois ele no
possui um SDK per se, e sim um conjunto de APIs que o desenvolvedor deve usar.
No seu bundle de instalao o desenvolvedor vem munido de 3 executveis: Corona
Simulator, Corona Terminal e debugger. Nenhuma outra ferramenta oferecida ao
programador, o que faz com que o trabalho de programar seja um pouco mais
manual.
9 CONSIDERAES FINAIS
Grande parte da facilidade do Corona se deve ao fato de ele usar o Lua como
linguagem, que devido sua pequena pegada, ele no causa grandes perdas de
performance e no atrapalha o gerenciamento de memria.
10 REFERNCIAS BIBLIOGRFICAS
BURTON, B. G., Mobile App Development with Corona: Getting Started. Edio
1, Burton Media Group, Estados Unidos da Amrica, 2011. Vol. 1 e Vol. 2.
NATIONS, D., Review: Corona SDK for iPhone and iPad Development.
Disponvel em: <http://ipad.about.com/od/iPad-App-Dev/fr/Review-Corona-SDK-For-
iPhone-And-iPad-Development.htm>. Acesso em 2 de Abril de 2012.
MEENEN, J., Learn How to Develop Apps for iOS and Android with Corona
SDK. Disponvel em: <http://www.cutemachine.com/product-creation/learn-how-to-
develop-apps-for-ios-and-android-with-corona-sdk/>. Aceso em Maio de 2012.
NPD GROUP, The NPG Group: For Once-Strong Smartphone Makers, 2011 was
the year of new beginnings. Disponvel em:
<https://www.npd.com/wps/portal/npd/us/news/pressreleases/pr_111213>. Acesso
em Abril de 2012.
52
NPD GROUP, Smartphone Track: Now increase your range of knowledge about
smartphones. Disponvel em: <https://www.npd.com/lps/SmartphoneTrackPR/>.
Acesso em Abril de 2012.