151
Desarrollo / Re:CharPad, editor de chars, tiles y mapas
« en: Marzo 06, 2024, 14:30:50 »Con el tema del Scroll y tiles la verdad no he trabajado, supongo que del problemas que hablas es para hacer un flip Screen. No acabo de entender muy bien tu problema....
¿Por qué dices que no sabes el ancho? De normal (o por lo menos lo que yo hago) al diseñar pantallas formadas por tiles, es tener unos tiles que encajen con el tamaño de la pantalla. Por ejemplo tiles de 5x5.
Con esto tendrías 8 Tiles horizontales (8x5=40) y 5 verticales (5x5=25) Entonces ya sabes que tienes que poner esos 8 tiles y luego bajar 5 caracteres en la pantalla para poner los siguientes 8.
Los Tiles almacenarán una secuencia consecutiva de 25 caracteres (un vector de caracteres) ej:
Tile1[25]={1,5,6,8,34,12,12,21,34,2,5,45,35,23,53,50,21,12,4,65,45,5,67,4,89}
Tile2[25]={2,8,9,12,26,16,1,1,34,23,5,12,32,25,58,67,2,16,88,99,32,12,6,14,8}
Escribes el Tile1 así: 5 caracteres seguidos en la memoria 0 de pantalla.
5 caracteres seguidos en la memoria 0+40 de pantalla.(Osea una fila mas abajo)
5 caracteres seguidos en la memoria 0+80 de pantalla.(Osea 2 filas mas abajo)
5 caracteres seguidos en la memoria 0+120 de pantalla.(Osea 3 filas mas abajo)
5 caracteres seguidos en la memoria 0+160 de pantalla.(Osea 4 filas mas abajo)
Escribes el Tile2 así: 5 caracteres seguidos en la memoria 0+5 de pantalla.
5 caracteres seguidos en la memoria 0+45 de pantalla.(Osea una fila mas abajo)
5 caracteres seguidos en la memoria 0+85 de pantalla.(Osea 2 filas mas abajo)
5 caracteres seguidos en la memoria 0+125 de pantalla.(Osea 3 filas mas abajo)
5 caracteres seguidos en la memoria 0+165 de pantalla.(Osea 4 filas mas abajo)
Al terminar el octavo Tile bajas 5 filas de pantalla para escribir el noveno. (Osea en la posición 200. 40*5)
Y así hasta completar todo el mapeado..
El mapa de pantalla que exportas en "bin" con charpad, contiene un set de 40 tiles almacenados consecutivamente en un vector y los guarda de izda a dcha y de arriba a abajo (OPQA de toda la vida).
No sé si te aclaro algo o te lío mas :-P
Bien, es lógico que el tema se complique porque no es tampoco fácil de explicar.
Entiendo lo que me dices y es lo que estoy haciendo (al final me salió mientras voy aprendiendo). El caso es que con una pantalla está super claro.
Pero desde CharPad tengo generadas 4 o 5 pantallas de forma consecutivas, asi que luego de la primer linea de datos no tengo la segunda linea de la primer pantalla sino la primer linea de la segunda pantalla ¿se entiende? es como si fuera un mapa para scroll.
Asi que para saltar a la segunda linea debería saber el ancho total del mapa para poder saltear todos esos datos.
Esto ahora lo puedo solucionar generando cada pantalla de forma independiente, sería lo mas simple.
Pero me queda la duda como se hace con las pantallas con scroll.