Bennu Game Development

Foros en Español => Mesa de Ayuda => Topic started by: master on November 27, 2012, 07:01:07 PM

Title: Duda sobre transparencia y manipuacion de imagenes desde Bennu
Post by: master on November 27, 2012, 07:01:07 PM
Hola a todos.

Desde hace poco estoy desarrollando un Remake de un juego de GBA para Caanoo. Pero en el proceso me encontré con un problema:

El manual de OSK habla del uso en modo de 32 bits, pero caanoo solo soporta los 16 bits (y creo 24 bits)
lo que yo quiero es colocar una imagen (con texto estilizado), pero dejando ver el fondo (creo que esto se resuelve usando como fondo el color de la paleta con índice 0) <---Tengo duda de esto
el inconveniente surge porque quiero el el gráfico aparesca poco a poco (parcialmente) de izquierda a derecha y de arriba a abajo (como efecto de maquina de escribir en varias lineas, linea tras linea) <---duda principal
por ejemplo tengo un texto de 2 lineas y cada linea con 5 caracteres, pues primero se destapara la primera linea letra por letra y luego la sig linea letra por letra hasta mostrar todo
No se me ocurre la forma de resolver esto.

Unas duda mas:
¿Bennugd tiene soporte para la función de vibración de la caanoo?
¿Bennugd puede reproducir video? ¿en que formato? <--- quiero meterle video pero tambien quiero que mi remake sea portable (usar librerias oficiales o que esten en la mayoria de los ports de bennu), es una de las principales razones por la cual estoy haciéndolo.

Saludos
Title: Re:Duda sobre transparencia y manipuacion de imagenes desde Bennu
Post by: SplinterGU on November 27, 2012, 07:44:47 PM
si, color indice 0 (8 bits) o 0 absoluto (en todos los modos)

no entiendo la duda de la maquina de escribir, tendras que hacerlo tu eso... puedes hacerlo de muchas formas, write_in_map, write_var usando una variable string e incrementando la string poco a poco, y usando move_text o text_move.

vibracion no recuerdo si lo implemente o no...

videos flic, que son una chorrada... esta en planes meter algo mejor.

Title: Re:Duda sobre transparencia y manipuacion de imagenes desde Bennu
Post by: master on November 27, 2012, 08:00:34 PM
lo de la maquina de escribir me refiero a que:

Tengo unas imagenes en un FPG, cada imagen tiene un texto estilizado de 9 lineas por 15 caracteres (como maximo por imagen), lo que quiero es que en mi juego aparesca cada imagen pero con un efecto de maquina de escribir, que en vez de mostrar la imagen de golpe, ir descubriendo parte por parte imitando el efecto maquina de escribir.

Como solución se me habia ocurrido que cada imagen fuese una linea (no varias como lo tenia ya guardado), y usar regiones para imitar el efecto de maquina (ir descubriendo el gráfico poco a poco hasta mostrar toda la linea). Pero no me gustaria hacerlo asi porque es una tarea titanica editar todos los textos (estilo 9X15) y guardarlos en linea por imagen por separardo (1X15), y creo que necesitaria mas de un FPG (mas de 999 imágenes)

Lo que sucede es que los textos están en Japones, y como bennu no maneja fuentes en japones etc. usare imágenes con el texto ya escrito
Title: Re:Duda sobre transparencia y manipuacion de imagenes desde Bennu
Post by: FreeYourMind on November 27, 2012, 08:12:35 PM
No es complicado, tengo algo parecido en mi PolloPollo en los creditos, las letras se van formando como de niebla hasta que estan completas, en tu caso sólo tienes que ir pintando una a una con un timer, puede ser texto o una imagen que represente la letra (en el caso de letras japonesas), en este ultimo caso sólo tendrias que crear una funcion que de la equivalencia de letras a simbolos (imagenes)
Title: Re:Duda sobre transparencia y manipuacion de imagenes desde Bennu
Post by: DCelso on November 28, 2012, 01:04:40 AM
creas un proceso para cada letra de tu palabra en el que los parametros de entrada sean las coordenadas x e y, en el que dentro solo pongas la imagen de tu letra y un do frame,  y luego simplemente desde el proceso main o el que quieras instancias cada proceso en la posicion que quieras para imitar la escritura de una maquina de escribir
process letra1(x.y)
begin
   file = mifpg;
   graph = 1;
  do
    frame;
  end
end
process letra2(x.y)
begin
    file = mifpg;
    graph = 2;
   do
     frame;
   end
end

---
----
process main()
begin
letra1(0,100);
frame(400)
letra1(50,100);
..
....
end

Title: Re:Duda sobre transparencia y manipuacion de imagenes desde Bennu
Post by: master on November 28, 2012, 02:55:04 AM
Gracias por sus respuestas

Quote from: DCelso on November 28, 2012, 01:04:40 AM
creas un proceso para cada letra de tu palabra en el que los parametros de entrada sean las coordenadas x e y, en el que dentro solo pongas la imagen de tu letra y un do frame,  y luego simplemente desde el proceso main o el que quieras instancias cada proceso en la posicion que quieras para imitar la escritura de una maquina de escribir
process letra1(x.y)
begin
   file = mifpg;
   graph = 1;
  do
    frame;
  end
end
process letra2(x.y)
begin
    file = mifpg;
    graph = 2;
   do
     frame;
   end
end

---
----
process main()
begin
letra1(0,100);
frame(400)
letra1(50,100);
..
....
end

veo tu metodo y me parece que no podre aplicarlo, porque no se trata solo de un par de textos en japones, sino de los dialogos y textos de todo el juego, lo vería mas como un mapa de tiles e ir aplicando el gráfico correcto, el problema es que no se manejar tiles porque el manual de OSK no habla del tema casi,
¿como leer un archivo modo texto como mapa de tiles y luego ir aplicando los graficos?
ya tengo las imágenes con cada gráfico Japones, pero ahora seria:
¿como convierto mis imágenes con el texto en Japones a mapas de tiles (para no volver a hacer el trabajo pesado)?

Sino, creo que terminaré usando regiones
Title: Re:Duda sobre transparencia y manipuacion de imagenes desde Bennu
Post by: gecko on November 28, 2012, 03:09:50 AM
Al proceso letra agregale el parametro graph y te sirve para todas las letras

process letra(x,y,graph)
begin
    file = mifpg;
    loop
        frame;
    end
end

process escritor()
private
    int i;
end
begin
    for(i=0; i<LONGITUD_DEL_TEXTO; i++)
        letra( i * 20, 100, TEXTO[i]  );
        frame;
    end
end


donde TEXTO[] guarda los valores de las distintas letras, y LONGITUD_DEL_TEXTO... bueno... adiviná! :P
Title: Re:Duda sobre transparencia y manipuacion de imagenes desde Bennu
Post by: SplinterGU on November 28, 2012, 04:22:06 AM
puedes usar 2 regiones e ir mostrando el texto en una region de a 1 caracter y en la otra vas desplazando las lineas ya completas... pero me parece impractico, el problema esta en que necesitas saber en cada linea donde empieza y termina cada caracter o detectarlo en base al espaciado... pero me parece igual un poco mucho...

quizas simplemente te convenga ir deslizando el texto desde arriba hacia abajo.
Title: Re:Duda sobre transparencia y manipuacion de imagenes desde Bennu
Post by: master on November 28, 2012, 06:17:59 AM
Quote from: SplinterGU on November 28, 2012, 04:22:06 AM
puedes usar 2 regiones e ir mostrando el texto en una region de a 1 caracter y en la otra vas desplazando las lineas ya completas... pero me parece impractico, el problema esta en que necesitas saber en cada linea donde empieza y termina cada caracter o detectarlo en base al espaciado... pero me parece igual un poco mucho...

quizas simplemente te convenga ir deslizando el texto desde arriba hacia abajo.

resulta que los caracteres tienen las mismas dimensiones, entonces el espaciado no es problema, el problema viene con que no todas las lineas tienen el mismo numero de caracteres, algunas mas, algunas menos, pero no pasan de 12 (debido al espaciado)
Title: Re:Duda sobre transparencia y manipuacion de imagenes desde Bennu
Post by: KeoH on November 28, 2012, 01:47:51 PM
Una idea .. puede estar curioso o ser una pesadilla xDDD:

La frase que quieres que aparezca letra a letra la separas en letras .. y cada letra la guardas en un grafico con write_map (era asi la funcion??) y despues creas un proceso con cada letra y las animas como quieras xDD no se .. igual investigo esta idea xD
Title: Re:Duda sobre transparencia y manipuacion de imagenes desde Bennu
Post by: DCelso on November 28, 2012, 03:09:11 PM
umn, a ver, si lo que quiere es escribir en japones lo mas fácil es que te crees un .fnt con todos los símbolos japoneses. Bueno no se si cabrán todos, el .fnt solo tiene capacidad para 255 símbolos, de los que se suelen  usar casi 127  para letras y números, los demás son para caracteres especiales o ratos.

En fin, eso, créate un .fnt con los símbolos que necesites del japonés, no mas de 255, a cada simbolo de esos dependiendo de la posición en que lo pongas se le asignará una letra "ASCII" como código o índice del símbolo.por ejemplo la posición 65 es la "A", la 66 es la "B"....,  la 97 es la "a", la 98 es la "b", etc.

Una vez creado el fnt y conocida su correspondencia ASCII, podras usar write_var con tu nuevo fnt y crear textos japoneses de forma rápida.
Podrías escribir my_string = "aaBBcc"
write_var(mifntjapo,0,0,0,,my_string);

Ya con esta técnica puedes simular la maquina de escribir facilmente no?
my_string = "aa"
write_var(mifntjapo,0,0,0,,my_string);
frame(200);
my_string = "aaBB"
frame(200);
my_string = "aaBBcc"
frame(200);

o ya con bucles o como veas ;).


Title: Re:Duda sobre transparencia y manipuacion de imagenes desde Bennu
Post by: SplinterGU on November 28, 2012, 10:35:21 PM
como bien dice free, 255 caracteres, pero incluso no estan disponibles los 255 segun la codificacion del font...

me gustaria incluir una modificacion para que se puedan usar los 255 caracteres, incluso quizas implementar utf-8 de una buena vez.

en fin... por el momento, quizas write_in_map no sea lo mejor... pero si cortas los caracteres y te armas un font virtual en un fpg te puedes implementar facil una funcion para hacer lo que quieres.
Title: Re:Duda sobre transparencia y manipuacion de imagenes desde Bennu
Post by: DCelso on November 29, 2012, 08:41:45 AM
¿Que dijo free?
Title: Re:Duda sobre transparencia y manipuacion de imagenes desde Bennu
Post by: FreeYourMind on November 29, 2012, 09:01:01 AM
Se ha equivocado, no ves que sueña conmigo xDD
Title: Re:Duda sobre transparencia y manipuacion de imagenes desde Bennu
Post by: SplinterGU on November 29, 2012, 11:12:19 AM
Quote from: DCelso on November 29, 2012, 08:41:45 AM
¿Que dijo free?

perdon, DCelso, se me cruzaron los posts...
Title: Re:Duda sobre transparencia y manipuacion de imagenes desde Bennu
Post by: master on December 05, 2012, 06:06:44 AM
al final termine usando regiones para el japones, pero gracias por todas sus respuestas.
Luego utilicé arreglos y dos for anidados para el efecto de maquina de escribir para el texto traducido a ingles y español.
Title: Re:Duda sobre transparencia y manipuacion de imagenes desde Bennu
Post by: SplinterGU on December 05, 2012, 01:36:30 PM
excelente...