Jogos com HTML5
Introdução
Se você chegou até este livro, é porque está interessado em desenvolver jogos. Aqui focarei no desenvolvimento de jogos para a web, usando a tecnologia Canvas, presente na especificação do HTML5 e suportada por todos os maiores browsers modernos, em suas versões mais atualizadas. Pretendo mostrar que desenvolver jogos é uma tarefa na realidade simples, e que não exige grandes curvas de aprendizados com frameworks monstruosos — o básico oferecido pelo ambiente do navegador é o suficiente para começar!
Tudo o que você precisará é de um browser atualizado e um bom editor de textos. Em ambiente Windows, é muito comum o uso do Notepad++ (http://notepad-plus-plus.org). Caso você use Linux, é bem provável que sua distribuição já venha com um editor que suporte coloração de sintaxe para várias linguagens (GEdit, KWrite, etc.). No entanto, eu recomendo veementemente o uso do Brackets (http://brackets.io), que foi onde eu criei os códigos. É multiplataforma (funciona em Windows, Linux, Mac OS X) e realiza autocompletar em código JavaScript de forma bastante eficiente.
O jogo que você vai criar já está disponível 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-html5-canvas
Por fim, todos os códigos e imagens estão disponíveis em (embora eu aconselhe você a digitar os códigos e usar os prontos no download apenas para referência em caso de dúvidas):
http://github.com/EdyKnopfler/games-js/archive/master.zip
Bom estudo!
Sumário
- 1 - Fundamentos
- 1.1 - Introdução ao HTML5 Canvas
- 1.2 - Começando a desenhar
- 1.3 - Animações com requestAnimationFrame
- 1.4 - Orientação a objetos com JavaScript
- 2 - O loop de animação
- 2.1 - Introdução e sprites
- 2.2 - Teste para a classe Animacao
- 2.3 - Desenvolva a classe Animacao
- 2.4 - Implemente a classe Bola
- 3 - A interação com o jogador — leitura apurada do teclado
- 3.1 - EventListeners e os eventos keydown e keyup
- 3.2 - Detectando se uma tecla está ou não pressionada
- 3.3 - Efetuando disparos — detectando somente o primeiro keydown
- 4 - Folhas de sprites — spritesheets
- 4.1 - Conceito e abordagem utilizada
- 4.2 - Carregando imagens e fazendo recortes (clipping)
- 4.3 - Animações de sprite — a classe Spritesheet
- 4.4 - Controle o herói pelo teclado e veja sua animação
- 5 - Detecção de colisões
- 5.1 - Colisão entre retângulos
- 5.2 - Teste da classe Colisor
- 5.3 - A classe Colisor
- 5.4 - Criando um sprite colidível
- 5.5 - Melhorando o código
- 6 - Iniciando o desenvolvimento do jogo
- 6.1 - Animação de fundo com efeito parallax
- 6.2 - Controle da nave na horizontal e na vertical
- 6.3 - Efetuando disparos
- 7 - Criando inimigos
- 7.1 - Primeiro teste com nave e inimigos
- 7.2 - A classe Ovni
- 7.3 - Adicionando fundo em parallax
- 7.4 - Adicionando colisão
- 7.5 - Estamos experimentando lentidão!
- 7.6 - Excluindo os objetos desnecessários
- 8 - Incorpore animações, sons, pausa e vidas extras ao jogo
- 8.1 - Organizando o código
- 8.2 - Animação cronometrada
- 8.3 - Animando a nave com spritesheets
- 8.4 - Criando explosões
- 8.5 - Pausando o jogo
- 8.6 - Sons e música de fundo
- 8.7 - Tela de loading
- 8.8 - Vidas extras
- 8.9 - Pontuação (score)
- 8.10 - Tela de Game Over
- 9 - Publique seu jogo e torne-o conhecido
- 9.1 - Hospede-o em um serviço gratuito
- 9.2 - Linkando com as redes sociais
O que estão falando sobre o livro
"A melhor didática de ensino de jogos que tive contato. O autor repete todos os passos e mostra o motivo de cada acréscimo ou modificação nas linhas apresentadas anteriormente. (...) Neste livro o autor constrói com você todo o código justificando cada passo, desenvolve as ideias básicas por trás da estrutura de uma engine usando um jogo simples, mas completo em todos os aspectos, que podem ser aplicadas em outros jogos. Posso dizer que foi esse livro que me introduziu no mundo da programação de jogos 2D. Estudei por um PDF que baixei, mas fiz questão de comprar um exemplar." (Thiago Alves, 2021)
Dados do produto
- Número de páginas:
- Data publicação: