Texto en pantalla
Quieres mostrar el marcador, las vidas o un mensaje que quede siempre en el mismo lugar de la pantalla.
Crea un objeto sin sprite (por ejemplo Hud), colócalo en la room y dibuja en el onRenderGui:
#include <brasa/brasa.hpp>#include <format>using namespace brasa;
class Hud : public Entity {public: void onRenderGui() override { drawText("PRIMEIRA FASE", 4, 4); drawText(std::format("PONTOS {}", 1500), 4, 14, colors::yellow); }};BRASA_ENTITY(Hud);Cómo funciona
Sección titulada «Cómo funciona»onRenderGuidibuja por encima de todo, en coordenadas de la pantalla: (0, 0) es la esquina superior izquierda, incluso con la cámara en movimiento.drawText(texto, x, y)escribe el texto. El color es opcional:colors::white(por defecto),colors::yellow,colors::red,colors::green,colors::blackoColor{r, g, b, a}.std::formatarma textos con números:std::format("VIDAS {}", 3)se convierte enVIDAS 3.- Cada letra mide 8 píxeles de ancho. Los acentos y la eñe funcionan:
drawText("Pontuação", 4, 4).
Variaciones
Sección titulada «Variaciones»Centrar. El texto ocupa letras × 8 píxeles:
const std::string msg = "FIM DE JOGO";drawText(msg, (roomWidth() - msg.size() * 8.0f) / 2.0f, 80);Letras más grandes y otra fuente. Un número después del color amplía la fuente de Brasa (2 = letras de 16 píxeles). Con el nombre de una fuente importada en Recursos y el tamaño en píxeles, el texto sale en esa fuente:
drawText("Pontuação", 4, 4, colors::white, 2);drawText("Fim de jogo", 4, 30, colors::yellow, "Titulos", 24);Números con ceros delante: std::format("{:05}", 300) se convierte en 00300.
Rectángulos y líneas, para barras de vida y marcos:
drawRect(4, 30, 50, 4, colors::red); // barra llenadrawRect(4, 30, 50, 4, colors::white, false); // solo el contornoMira también
Sección titulada «Mira también»- Dibujo.
- 5. Puntos y vidas, en el tutorial.
