Abrir o menu de navegação
Fechar sugestões
Pesquisar
Pesquisar
pt
Change Language
Mudar o idioma
Carregar
Fazer login
Fazer login
Baixe e use grátis por dias
100%
(3)
100% acharam este documento útil (3 votos)
432 visualizações
220 páginas
Jogoshtml5 PDF
Enviado por
nelsonpaulino329
Título aprimorado por IA
Direitos autorais
© © All Rights Reserved
Levamos muito a sério os direitos de conteúdo. Se você suspeita que este conteúdo é seu,
reivindique-o aqui
.
Formatos disponíveis
Baixe no formato PDF ou leia on-line no Scribd
Baixar
Salvar
Salvar jogosHtml5.pdf para ler mais tarde
100%
100% acharam este documento útil, undefined
0%
, undefined
Incorporar
Compartilhar
Imprimir
Relatório
100%
(3)
100% acharam este documento útil (3 votos)
432 visualizações
220 páginas
Jogoshtml5 PDF
Enviado por
nelsonpaulino329
Título aprimorado por IA
Direitos autorais
© © All Rights Reserved
Levamos muito a sério os direitos de conteúdo. Se você suspeita que este conteúdo é seu,
reivindique-o aqui
.
Formatos disponíveis
Baixe no formato PDF ou leia on-line no Scribd
Anterior no carrossel
Próximo no carrossel
Baixar
Salvar
Salvar jogosHtml5.pdf para ler mais tarde
100%
100% acharam este documento útil, undefined
0%
, undefined
Incorporar
Compartilhar
Imprimir
Relatório
Fazer o download agora mesmo
Baixar
Você está na página 1
/ 220
Pesquisar
Tela inteira
Desenvolva jogos com HTMLS5 Canvas e JavaScript Casa do 2 Z Codigo EDERSON CASSIOCasa do Codigo Introducao Se vocé chegou até este livro, ¢ porque esti interessado em desenvolver jo- gos. Aqui focarei no desenvolvimento de jogos para a web, usando a tec nologia Canvas, presente na especificagao do HTMLs e suportada por to- dos os maiores browsers modernos, em suas versées mais atualizadas. Pre- tendo mostrar que desenvolver jogos é uma tarefa na realidade simples, e que nao exige grandes curvas de aprendizados com frameworks monstruosos — © basico oferecido pelo ambiente do navegador é 0 suficiente para comegar! Tudo o que vocé precisara é de um browser atualizado e um bom edi- tor de textos. Em ambiente Windows, é muito comum 0 uso do Notepad++ (http://notepad-plus-plus.org) . Caso vocé use Linux, é bem provavel que sua distribuigao j venha com um editor que suporte coloragao de sintaxe para varias linguagens (GEdit, KWrite, etc.) No entanto, eu recomendo veemente- mente o uso do Brackets (http://brackets.io) , que foi onde eu criei os cédigos. E multiplataforma (funciona em Windows, Linux, Mac OS X) e realiza auto- completar em cédigo JavaScript de forma bastante eficiente. O jogo que vocé vai criar ja estd disponivel na web. Vocé pode jogé-lo a qualquer momento em: http://gamecursos.com.br/livro/jogo Estarei sempre presente e atuante no seguinte grupo do Google Groups, como forma de interagir com meus leitores: http://groups.google.com/forum/#!forum/livro-jogos-htmls-canvas Por fim, todos os cédigos e imagens estio disponiveis em (embora eu aconselhe vocé a digitar os cédigos e usar os prontos no download apenas para referéncia em caso de dividas): http://github.com/EdyKnopfler/games-js/archive/master.zipCasa do Cédigo ii Bom estudo!Casa do Codigo Sumirio Sumario 1 Fundamentos 1 11 —Introdugao ao HTMLs Canvas... 1. ee ee 12 Comecandoadesenhar .. 0.0... 0.0 cee eee 6 13 Animagées com requestAnimationFrame ... 6... 0c 22 1.4 Orientagio a objetos com JavaScript... 2. eee 26 2 Oloop de animagio 35 21 Introdugioe sprites ©... eee aaus (35 2.2 Teste paraa classe Animacao............-. sees 38 23. Desenvolva a classe Animacao mn 2.4 Implemente a classe Bola . . . 45 3 Ainteracao com 0 jogador — leitura apurada do teclado 49 31 EventListeners e os eventos keydownekeyup ......... 50 3-2 Detectando se uma tecla esta ou nao pressionada ....... 55 3.3 Efetuando disparos — detectando somente o primeiro keydown 58 4 Folhas de sprites — spritesheets 69 4a Conceito eabordagem utilizada 0. 69 4.2 Catregando imagens e fazendo recortes (clipping) .... . . np 43 Animagées de sprite —a classe Spritesheet .......... 5 4.4 Controle o herdi pelo teclado e veja sua animagio ... . . « 80Sumério Casa do Codigo 5 Detecgao de colisées 87 51 Colisio entre retangulos . 2.22... .0202020 0005 87 5.2 Teste da classe Colisor.. 2.2.2... 0c eee 90 53 AclasseColisor 2.2.0.0... eevee eee eee 93 5.4 Criando um sprite colidivel..... 0.0.0.0 00200005 95 55 Melhorando océdigo . 6... ee ee eee eee eee 98 6 Iniciando o desenvolvimento do jogo 107 61 Animagio de fundo com efeito parallax... 2... 107 62 Controle da nave na horizontal e na vertical... . . 8 63 Efetuandodisparos .. 0.2.2.2... 00-0005 123 7 Criando inimigos 129 71 Primeiro teste com nave ei 130 FE) BAe oo es sw snes ces wenn ns om 134 73 Adicionando fundo em parallax 6.00.06... cece eee 135 74 Adicionando colisio. 6... 0.02. eee 139 75 Estamos experimentando lentidao! .......... 145; 76 Excluindo os objetos desnecessérios........ 151 8 Incorpore animagées, sons, pausa e vidas extras ao jogo 155 81 Organizandoocédigo..............00-5 156 82 Animagio cronometrada.... 6.6... e eee ees 162 83 Animando anave com spritesheets. .. 02.0002... 2s 165 8&4 Criandoexplosdes 0.02.26. eee ee 169 Bis: Pannandowajago) 0... + soma e ce een suman etna 175 86 Sonsemiisicadefundo.............00-5 179 By) Weledieloading! «6... scone cee eee seam se 181 GAs TRUER aa oe es iw smn ee ces ween Om 186 Sey; Pane cs ce ees eee eee 190 B10 TeladeGame Over 20... 6.6 eee eee eee 192 ivCasa do Codigo Sumirio 9 Publique seu jogo e torne-o conhecido 197 9.1 Hospede-o em um servico gratuito . . . 197 9.2 Linkando com as redes sociais 203 Bibliografia 213CapiTULO1 Fundamentos Aqui comega uma fascinante jornada pelos segredos de uma tecnologia que, na verdade, nao possui segredo algum. ‘Trata-se do Canvas, uma das maravil- has do HTMLs. © Canvas é uma area retangular em uma pagina web onde podemos criar desenhos programaticamente, usando JavaScript (a linguagem de pro- gramacao normal das paginas HTML). Com esta tecnologia, podemos criar trabalhos artisticos, animagGes e jogos, que é 0 assunto central deste livro. Com 0 Canvas, ao longo dos capitulos, iremos desenvolver 0 jogo da figura 1a:Casa do Cédigo Figura 11: Jogo desenvolvido ao longo do livro Este livro ¢ composto pelos seguintes capitulos: 1, Fundamentos: neste capitulo, aprenda como funciona o Canvas, como criar animages via programacao e também nogées de Orientacio a obje- tos em JavaScript, para que nossos codigos se tornem mais organizados € reaproveitaveis; 2. O loop de animagao: controle a animacao de seus jogos de forma efi- ciente. Conhega 0 conceito de sprites e aprenda a gerencié-los em uma ani- maco; 3. A interagao com o jogador — leitura apurada do teclado: saiba como capturar eventos do teclado de maneira eficiente para jogos; 4. Folhas de sprites — spritesheets: anime os elementos de seu jogo indi- vidualmente usando imagens contendo todos os quadros de uma animagao; 5. Detecgao de colisdes: aprenda a detectar quando os elementos de um jogo “tocam” uns aos outros na tela e execute as agdes adequadas; 6. Iniciando 0 desenvolvimento do jogo: um joguinho de nave comegara a tomar forma usando todos os elementos aprendidos até entao; 7. Criando inimigos: adicione verdadeira emogao ao seu jogo, dandoCasa do Codigo Capitulo. Fundamentos ao heréi alguém a quem enfrentar. Usaremos intensivamente a detecgio de colisées; 8, Incorpore animagées, sons, pausa e vidas extras ao jogo: com todos os conceitos aprendidos e bem fixados, voce vera como ¢ facil estender 0 jogo e adicionar novos elementos. Ao fim do capitulo, vocé tera sugestoes de mel- horias que vocé mesmo poders tentar realizar, como exercicio; 9. Publique seu jogo e torne-0 conhecido: um passo a passo de como publicar seu jogo na web e divulgé-lo nas redes sociais. Importante: preparei um pacote de arquivos contendo todos os cédigos, imagens e sons utilizados. Em cada novo arquivo que criarmos, indicarei 0 nome do respectivo arquivo nesse pacote. Realize seu download no enderego: http://github.com/EdyKnopfler/games-js/archive/master.zip Antes de comecarmos a desenvolver um jogo em especifico, ¢ importante nos habituarmos a algumas fungées da tecnologia Canvas. O que esta es- perando? Vamos comegar 0 aprendizado! 1 INTRODUGAO AO HTMLs Canvas Para criar um Canvas em uma pagina HTML, utilizamosa tag
. Os atributos width e height informam a largura e a altura, respectivamente, da drea de desenho. £ importante também informar um id para podermos trabalhar com ele no cédigo JavaScript:
Entre as tags de abertura e fechamento, podemos colocar alguma men- sagem indicando que o browser nao suporta essa tecnologia. Caso 0 browser a suporte, esse contetido ¢ ignorado:
Seu navegador n&o suporta o Canvas do HTHLS.
Procure atualiza-lo.
Os atributos width e height da tag
sao obrigatérios, pois sio os valores usados na geracao da imagem. © Canvas pode receber dimen-1a, Introdugie ao HTML Canvas Casa do Cédigo sdes diferentes via CSS, no entanto, seu processamento sempre serd feito us- ando as dimensdes informadas na tag. Se as dimensdes no CSS forem difer- entes, o browser amplia ou reduz a imagem gerada para deixé-la de acordo com a folha de estilo. Dado um Canvas com dimensées 100x100 pixels:
au_canvas" width="100" heigh’ A seguinte formatagéo CSS far a imagem ser ampliada: #meu_canvas { width: 200px; height: 200px; Contexto grafico Para desenhar no Canvas, é preciso executar um script apés ele ter sido carregado. Neste script, obteremos 0 contexto grdfico, que é 0 objeto que re- aliza de fato as tarefas de desenho no Canvas. Uma maneira é criar uma tag