retro

Sprites y texto de estilo retro (DUNGEON.mode), listos para usar sin cargar ningún archivo. Ver examples/pincel/06_retro.cometa.

importar
usar std/pincel/retro

Tipos

retro.Atlas

Qué atlas retro usar al dibujar un glifo por índice: .Dungeon (gráfico) o .ASCII (texto Unicode).

Valores:

.ASCII.Dungeon

retro.Icono

Un ícono con nombre del atlas retro DUNGEON-mode (por ejemplo .Corazon), para usar con retro.icono.

Valores:

.Abajo.Anillo.Armadura.Arriba.Baculo.Bloque.Bolsa.Calavera.Candado.Cara.Casa.Castillo.Cerrar.CirculoPunteado.CirculoRelleno.Corazon.CorazonVacio.Craneo.Damero.Demonio.Derecha.Diana.Equis.Escudo.Espada.Esquinas.Estadisticas.Estrella.Femenino.Gato.Hoja.Hueso.Izquierda.Libro.Llave.Mano.Manzana.Marco.Mas.Masculino.Mesa.Monstruo.Nivel.Nota.Notas.Objetivo.Oro.Puntero.Punto.SelectorH.SelectorV.Sombrero

retro.Mapa

Un mapa de tiles hecho con el editor de mapas y cargado con retro.cargar_mapa: varias capas de iconos del atlas dungeon, cada celda con su color, y marcas con nombre para situar al jugador, los enemigos o las puertas. Se dibuja con retro.mapa.

Mapa.columnas() entero

La cantidad de columnas del mapa.

Mapa.filas() entero

La cantidad de filas del mapa.

Mapa.capas() [cadena]

Los nombres de las capas, de la de abajo a la de arriba.

Mapa.capa(nombre cadena) rejilla.Rejilla

La rejilla de iconos de la capa `nombre`, para consultarla o cambiarla (`obtener`, `poner`, `choca`, `mover`). Es la misma que se dibuja: poner -1 en una celda la borra del mapa. Una capa que no existe detiene el programa con la lista de capas.

Mapa.colores(nombre cadena) rejilla.Rejilla

La rejilla de colores de la capa `nombre`: un número 0xRRGGBB por celda (rojo * 65536 + verde * 256 + azul); -1 usa el tinte.

Mapa.marcas(nombre cadena) [mate.Vec2]

Las celdas (columna y fila) que llevan la marca `nombre`, puesta con la herramienta Marca del editor, en el orden en que se colocaron: `nivel.marcas("jugador")[0]` es donde empieza el jugador. Un nombre que el mapa no usa da una lista vacía.

Funciones

retro.texto(texto cadena, x entero, y entero, escala entero = 1, color color.Color = .Blanco)al pintar

Dibuja `texto` en la fuente DUNGEON-437 (soporta acentos y ñ; las mayúsculas Á, Í, Ó y Ú se dibujan sin tilde), en la posición (x, y) con el tamaño de escala entero dado.

retro.ancho_texto(texto cadena, escala entero = 1) entero

Ancho en píxeles que ocupa `texto` con retro.texto a esa escala (8 píxeles por carácter); sirve para centrarlo.

retro.icono(icono retro.Icono, x entero, y entero, escala entero = 1, color color.Color = .Blanco, voltear_h bool = falso, voltear_v bool = falso)al pintar

Dibuja un ícono con nombre del atlas DUNGEON-mode (por ejemplo .Corazon o .Llave) en (x, y). `voltear_h` y `voltear_v` lo dibujan espejado sin moverlo de su celda, así una flecha o un personaje sirven para los dos lados.

retro.glifo(indice entero, x entero, y entero, escala entero = 1, color color.Color = .Blanco, atlas retro.Atlas = .Dungeon, voltear_h bool = falso, voltear_v bool = falso)al pintar

Dibuja el glifo `indice` del atlas retro indicado (por defecto .Dungeon) en (x, y); útil para tilesets propios sobre el mismo atlas. `voltear_h` y `voltear_v` lo dibujan espejado.

retro.hoja(atlas retro.Atlas = .Dungeon) graficos.Hoja

El atlas retro como Hoja de cuadros de 8×8: el cuadro `i` es el mismo glifo que dibuja retro.glifo(i), así que sirve para pintar una rejilla con rejilla.dibujar(mapa, retro.hoja(), tinte = .Gris) o un cuadro con graficos.cuadro.

retro.cargar_mapa(ruta cadena) retro.Maparecurso

Carga un mapa creado con el editor (tools/mapa-editor) desde `ruta`, relativa al archivo que llama a esta función. Como los demás recursos, se usa en una variable global: `var nivel = retro.cargar_mapa("nivel.mapa.txt")`.

retro.mapa(mapa retro.Mapa, x entero = 0, y entero = 0, escala entero = 1, capa cadena = "", tinte color.Color = .Blanco)al pintar

Dibuja el mapa con sus iconos y colores, tal como se ve en el editor, con la esquina superior izquierda en (x, y). Con `capa` dibuja solo esa capa (por ejemplo para pintar al jugador entre el suelo y los objetos). `tinte` colorea las celdas que no tienen color propio.

retro.ejecutar(instancia pincel.Juego, ancho entero = 320, alto entero = 200, titulo cadena = "Cometa", escala decimal = 4, redimensionable bool = falso, pantalla_completa bool = falso, tps entero = 60, pixelado bool = verdadero, retro bool = falso) !

Como pincel.ejecutar pero con valores por defecto pensados para juegos retro: ventana más pequeña, escala x4 y píxeles nítidos.