
Core HTML5 Canvas
David Geary
- Editorial
- Prentice Hall
- Año
- 2012
- Páginas
- ~752
- Nivel
- Básico
De qué trata
Guía extensa y muy práctica de David Geary, publicada en 2012 en la serie Core de Prentice Hall, dedicada por completo a la API de gráficos 2D del elemento canvas de HTML5. Muestra cómo usarla para crear aplicaciones web con gráficos ricos, animaciones y videojuegos. Aunque el catálogo lo marca como básico, el libro es de nivel intermedio-avanzado: se necesita soltura con JavaScript y conviene repasar un poco de matemáticas (vectores y trigonometría), aunque el propio autor incluye un breve repaso.
El recorrido cubre lo esencial del elemento canvas y sus contextos, el manejo de eventos, guardar y restaurar la superficie de dibujo, la impresión y los canvas fuera de pantalla. Luego se adentra en el dibujo: sistema de coordenadas, colores y transparencia, degradados, patrones, sombras, trazados, arcos, curvas de Bézier, polígonos, transformaciones, composición y regiones de recorte. Sigue con texto y controles de texto, imágenes y procesamiento de video, y animación: bucle de animación con requestAnimationFrame, cálculo de fotogramas por segundo, doble búfer, movimiento basado en tiempo, desplazamiento de fondo y parallax. Después trata sprites, física (gravedad y funciones de distorsión del tiempo), detección de colisiones con cajas delimitadoras, ray casting y el teorema del eje separador (SAT), y termina con controles personalizados y desarrollo móvil: viewport, media queries, eventos táctiles e iOS5.
Todo se explica con abundante código y demos en vivo en corehtml5canvas.com. Se construyen piezas completas como un motor de juegos, un juego de pinball, una lupa, controles reutilizables y un teclado virtual. Es de los tratados más completos sobre canvas 2D, y sus partes sobre animación, física y colisiones siguen vigentes porque la API ha cambiado poco. No cubre WebGL ni librerías como Phaser o PixiJS, y lo referido a móviles (iOS5) está desfasado.
- HTML5 Canvas
- API 2D
- Dibujo y trazados
- Transformaciones
- Procesamiento de imágenes y video
- Animación
- requestAnimationFrame
- Sprites
- Física de juegos
- Detección de colisiones
- Desarrollo de videojuegos
- Eventos táctiles
¿Cómo enseña?
Teoría + práctica
- ✗ Sin ejercicios
- ✓ Incluye proyectos
Proyectos
Motor de juegos y juego de pinball
Se implementa un pequeño motor de juegos en JavaScript sobre canvas, que se prueba primero con un juego mínimo (el "Ungame") y luego sirve de base a un juego de pinball completo, con física, sprites y detección de colisiones mediante el teorema del eje separador.
Lupa sobre imágenes
Herramienta que amplía en tiempo real una zona de una imagen, construida con manipulación de imágenes y canvas fuera de pantalla.
Controles personalizados
Componentes reutilizables dibujados con canvas, como rectángulos redondeados, barras de progreso, deslizadores y un visor panorámico de imágenes, aptos para cualquier aplicación HTML5.
Teclado virtual para móviles
Teclado en pantalla dibujado con canvas que responde a eventos táctiles, como parte del capítulo de desarrollo para dispositivos móviles.

