ebook img

Desenvolvimento de Jogos para iOS: Explore sua imaginação com o framework Cocos2D PDF

185 Pages·2014·1.4 MB·Portuguese
Save to my drive
Quick download
Download
Most books are stored in the elastic cloud where traffic is expensive. For this reason, we have a limit on daily download.

Preview Desenvolvimento de Jogos para iOS: Explore sua imaginação com o framework Cocos2D

CasadoCódigo Sumário Sumário 1 IntroduçãoaodesenvolvimentodejogosnoiOS 1 1.1 Oquevocêencontraránestelivro . . . . . . . . . . . . . . . . . . . . . 3 1.2 Quecomeceadiversão! . . . . . . . . . . . . . . . . . . . . . . . . . . . 8 2 Protótipodeumjogo 9 2.1 Iniciandooprojeto . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11 2.2 Criandoabasedojogo . . . . . . . . . . . . . . . . . . . . . . . . . . . 14 2.3 Desenhandooobjetoprincipal . . . . . . . . . . . . . . . . . . . . . . 20 2.4 Captandooscomandosdousuárioemovendoobjetos . . . . . . . . . 24 2.5 Criandooinimigo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29 2.6 Detectandocolisõesemostrandoresultados . . . . . . . . . . . . . . . 32 2.7 Adicionandoumplacar . . . . . . . . . . . . . . . . . . . . . . . . . . . 40 2.8 Criandobotõesdeinterfacedousuário . . . . . . . . . . . . . . . . . . 42 2.9 Adicionandomaisvida:imagensdanaveedocéu . . . . . . . . . . . 46 2.10 Conclusão. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49 3 Históriadojogo 51 3.1 14-bis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52 3.2 14-bisVS100Meteoros . . . . . . . . . . . . . . . . . . . . . . . . . . . 53 4 Telainicial:LidandocomBackground,logoebotõesdemenu 57 4.1 SobreoCocos2D. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59 4.2 Iniciandooprojeto . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59 4.3 ajustandoaorientação . . . . . . . . . . . . . . . . . . . . . . . . . . . 62 4.4 Background . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64 iii Sumário CasadoCódigo 4.5 AssetsdaTeladeabertura . . . . . . . . . . . . . . . . . . . . . . . . . 67 4.6 Capturandoconfiguraçõesiniciaisdodispositivo . . . . . . . . . . . . 68 4.7 Logo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71 4.8 Botões . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72 4.9 Conclusão. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74 5 Teladojogoeobjetosinimigos 77 5.1 GameScene . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 78 5.2 Transiçãodetelas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 80 5.3 Engines . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81 5.4 Meteor. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 85 5.5 Teladogame . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 87 5.6 Conclusão. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 90 6 CriandooPlayer 93 6.1 DesenhandooPlayer . . . . . . . . . . . . . . . . . . . . . . . . . . . . 94 6.2 Botõesdecontrole . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 98 6.3 Atirando . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 101 6.4 Movendooplayer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 107 6.5 Conclusão. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 109 7 Detectandocolisões,pontuandoecriandoefeitos 111 7.1 Detectandocolisões . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 112 7.2 Efeitos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 115 7.3 Playermorre . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 122 7.4 Placar . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 123 7.5 Conclusão. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 126 8 Adicionandosonsemúsica 127 8.1 Executandosons . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 128 8.2 Cachedesons . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 129 8.3 Músicadefundo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 130 8.4 Conclusão. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 131 iv CasadoCódigo Sumário 9 Voandocomagravidade! 133 9.1 UsandooAcelerômetro . . . . . . . . . . . . . . . . . . . . . . . . . . . 134 9.2 Controlandoainstabilidade . . . . . . . . . . . . . . . . . . . . . . . . 141 9.3 Calibrandoapartirdaposiçãoinicialdoaparelho . . . . . . . . . . . 142 9.4 Desafioscomoacelerômetro . . . . . . . . . . . . . . . . . . . . . . . . 144 9.5 Conclusão. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 144 10 Telafinalegameover 147 10.1 Telafinal . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 148 10.2 TelaGameOver . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 152 10.3 Conclusão. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 156 11 Pausandoojogo 157 11.1 Montandoateladepause . . . . . . . . . . . . . . . . . . . . . . . . . . 158 11.2 ControlandooGameLoop . . . . . . . . . . . . . . . . . . . . . . . . . 161 11.3 Adicionandoobotãodepause . . . . . . . . . . . . . . . . . . . . . . . 162 11.4 Ainterfaceentrejogoepause . . . . . . . . . . . . . . . . . . . . . . . 163 11.5 Pausandoojogo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 163 11.6 Pausandoosobjetos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 168 11.7 Conclusão. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 170 12 Continuandonossojogo 173 12.1 Utilizandoferramentassociais . . . . . . . . . . . . . . . . . . . . . . . 173 12.2 Highscore . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 174 12.3 Achievements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 176 12.4 Desafiosparavocêmelhorarojogo . . . . . . . . . . . . . . . . . . . . 177 12.5 Comoganhardinheiro? . . . . . . . . . . . . . . . . . . . . . . . . . . . 178 12.6 Conclusão. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 180 v Capítulo1 Introdução ao desenvolvimento de jogos no iOS RiverRaid,paraAtari,foiprovavelmenteoprimeirojogodevideogamequemuitos jogaram. Nesseclássicogameda Activisioncriadoem1982, ojogadorcontro- lavaumanavequesemoviadebaixoparacimanatela,ganhandopontospormatar inimigos,destruirhelicópteros,navesebalões.Emais:erapossívelencherotanque passandoporestaçõesdegás. CasadoCódigo Figura1.1:RIVERRAIDnoAtari Incrível como um desenho simples e 2D podia ser tão divertido. Controlar a nave,fazerpontosepassarporobstáculosgarantiamhorasdediversão. Comopassardotempo,novosjogosforamsurgindoesetornaramcadavezmais sofisticados.Apesardetodososconceitosdosjogosantigosteremsidomantidos,um jogodePlaystation3,porexemplo,podeenvolverdezenasdedesenvolvedores. Atualmente,comocrescimentodoscasualgamers,oscelularesetabletssetor- naram plataformas de sucessos e disputadas. Com eles, o desenvolvimento de um jogo não precisa mais de uma quantidade enorme de desenvolvedores. Uma ideia interessanteebemimplementadapodeserosuficienteparaseujogoobtersucesso. Sódependedevocê. 2 CasadoCódigo Capítulo1. IntroduçãoaodesenvolvimentodejogosnoiOS Figura1.2:CapadojogoRIVERRAIDde1982 1.1 O que você encontrará neste livro Este livro é escrito para desenvolvedores que já conhecem o básico de desenvolvi- mentodeaplicativosparaiOS.Eleédivididoem3partesprincipais: • Umprotótipoinicial • Umestudodojogoqueserádesenvolvido • UmjogodesenvolvidocomCocos2D Aideiaéquesejaumbomguiaparatodosaquelesquequereminiciarnodesen- volvimento de games, seja profissionalmente, para evoluir seus conhecimentos ou mesmoporpuradiversão. 3 1.1. Oquevocêencontraránestelivro CasadoCódigo OqueéumDesenvolvedorApple? OXcodeéaplataformadedesenvolvimentodeaplicativosiOS.Qualquerpessoa podebaixá-loecomeçaradesenvolverumaplicativo,testando-onosimuladorque vemjuntodopróprioXcode. Entretanto, paraexecutarumaplicativoemseuapa- relhoiPhone/iPadoupublicá-lonaAppStore,deve-seserumDesenvolvedorAp- pleregistradono“iOSDeveloperProgram”(maisemhttps://developer.apple.com/ programs/ios/). Nocapítulo2destelivrofalaremossobrecomobaixareinstalaroXcode. Umprotótipoinicial Noiníciodolivro,serádesenvolvidoumjogosimples,programadocomapenas 2 classes. O objetivo é se familiarizar e ter uma noção geral dos conceitos básicos nodesenvolvimentodegames. Essesconceitosaparecememquasetodososjogos, sejamelessimplesouavançados. Nesse capítulo não será utilizado nenhum framework adicional de desenvolvi- mento,apenasosframeworkspadrõesdequalqueraplicativodeiOS,incluídosauto- maticamentepeloXcodenacriaçãodeumnovoprojeto.Mesmoassim,chegaremos aumresultadobeminteressante,comoesse: 4 CasadoCódigo Capítulo1. IntroduçãoaodesenvolvimentodejogosnoiOS Figura1.3:Imagemdonossoprotótipo. Ocódigodonossoprotótipopodeserencontradoaqui: https://github.com/BivisSoft/jogos_ios_prototipo Umestudodojogoqueserádesenvolvido Programaçãoéapenasumapartedodesenvolvimentodegames.Empresasfoca- dasemdesenvolvimentodejogospossuemroteiristasparacriarahistóriadosgames, designersparadefiniromelhorvisualdojogo,profissionaisdesomparaatrilhaso- noraeefeitos,designersdeinterfaceparadefinircomoseráaexperiênciadojogador nogame,entreoutros.Omarketingedivulgaçãosãocasosàparte. 5

See more

The list of books you might like

Most books are stored in the elastic cloud where traffic is expensive. For this reason, we have a limit on daily download.