Capítulo 21 — Coordenadas, Canvas y dibujo 2D
Parte 2A — Los fundamentos del juego 2D · Capítulo 21 de 62 · 7 h
Chapitre 21 — Coordonnées, Canvas et dessin 2D
Nivel: intermedio Duración estimada: 7 h Requisitos previos: capítulo 19 (Flutter acelerado,
CustomPainter) y capítulo 20 (bucle de juego,Ticker, delta time) Lo que sabrás hacer al final: dibujar cualquier escena 2D a mano conCanvasyPaint, posicionarla al píxel en el sistema de coordenadas de la pantalla, transformarla (traslación, rotación, escala) y animarla con eldtdel bucle de juego.
21.0 — Objetivos del capítulo
Al final de este capítulo serás capaz de:
- explicar por qué el eje
Yde la pantalla está orientado hacia abajo, a diferencia del sistema de coordenadas matemático; - situar el origen
(0, 0)de una zona de dibujo y razonar en coordenadas locales; - distinguir un píxel lógico de un píxel físico y utilizar
devicePixelRatio; - leer el tamaño de la zona de dibujo que se transmite a
paint()y adaptarte a él; - manipular
Offset,RectySize, los tres tipos básicos de la geometría de Flutter; - anticipar la diferencia entre
Vector2(Flame) yOffset(Flutter); - escribir un
CustomPainterlimpio, con unshouldRepaint()correcto; - configurar un objeto
Paint: color, estilo, grosor del trazo; - dibujar rectángulos, círculos, líneas, elipses, rectángulos redondeados, trazados y puntos;
- dibujar texto en un
CanvasconTextPainter; - construir colores en ARGB y aplicar transparencia;
- aplicar un degradado lineal o radial a una forma;
- explicar y aprovechar el orden de dibujo («algoritmo del pintor»);
- utilizar
save()/restore()sin desequilibrar nunca la pila; - aplicar
translate(),rotate()yscale(), y entender por qué importa su orden; - dibujar una forma alrededor de su centro en lugar de su esquina (noción de ancla);
- limitar el dibujo a una zona con
clipRect(); - explicar el doble búfer y por qué la pantalla no parpadea;
- identificar lo que resulta costoso en
paint()y evitarlo; - dibujar una cuadrícula de mazmorra y un personaje íntegramente con formas geométricas;
- animar un dibujo con el
dtdel capítulo 20.
Comentarios
Los comentarios funcionan con GitHub Discussions
Inicia sesión con GitHub para participar en la discusión