Dibujo
Por defecto, cada instancia dibuja su propio sprite. Para dibujar otras cosas, sobrescribe onRender (en el mundo, con cámara) u onRenderGui (por encima de todo, en coordenadas de la pantalla) y usa las funciones de abajo dentro de esos eventos.
| Función | Qué hace | Ejemplo |
|---|---|---|
void drawSelf() |
Dibuja el propio sprite en el cuadro actual, con la escala, el ángulo y la posición de la instancia. | drawSelf(); |
void drawSprite(std::string_view spriteName, float frameIndex, float atX, float atY, float sx = 1, float sy = 1, float rotation = 0, float alpha = 1) |
Dibuja cualquier sprite, en cualquier posición. alpha va de 0 (invisible) a 1. |
drawSprite("coracao", 0, 4, 24); |
void drawRect(float rx, float ry, float rw, float rh, Color color, bool filled = true) |
Dibuja un rectángulo lleno o solo el contorno. | drawRect(4, 30, 50, 4, colors::red); |
void drawLine(float x1, float y1, float x2, float y2, Color color) |
Dibuja una línea. | drawLine(x, y, mouseX(), mouseY(), colors::white); |
void drawText(std::string_view text, float tx, float ty, Color color = colors::white) |
Escribe un texto, con acentos. Cada letra mide 8 píxeles de ancho. | drawText("Pausa", 140, 80); |
void drawText(std::string_view text, float tx, float ty, Color color, int scale) |
Lo mismo, ampliado: scale 2 da letras de 16 píxeles. |
drawText("Pausa", 120, 80, colors::white, 2); |
void drawText(std::string_view text, float tx, float ty, Color color, std::string_view font, int size) |
Escribe con una fuente del proyecto (un .ttf importado en Recursos), con letras de size píxeles. |
drawText("Fim", 120, 80, colors::white, "Titulos", 24); |
Para menús, marcadores y pantallas, mira la Interfaz: los textos se ponen en el editor y el código solo cambia lo que muestran.
Colores
Sección titulada «Colores»Color{r, g, b, a} con valores de 0 a 255 (a es la opacidad). Colores listos en colors:::
| Nombre | Valor |
|---|---|
colors::white |
{255, 255, 255, 255} |
colors::black |
{0, 0, 0, 255} |
colors::red |
{230, 60, 60, 255} |
colors::green |
{60, 220, 90, 255} |
colors::yellow |
{255, 220, 60, 255} |
colors::magenta |
{255, 0, 255, 255} |
Orden de dibujo
Sección titulada «Orden de dibujo»- Quien decide el orden es la capa: la de arriba de la lista se dibuja delante. Cada capa tiene un
depth, y el mayor queda por detrás. - La instancia nace con el depth de su capa. En el código,
setLayer("Frente")la cambia de capa;depth = 5;también funciona. - Todo lo que se dibuja en el
onRenderGuiqueda por encima de todo lo delonRender. - Una instancia con
visible = falseno dibuja nada.
Mira Texto en pantalla y Animar un sprite.
