Bennu Game Development

Foros en Español => Mesa de Ayuda => Topic started by: FreeYourMind on May 11, 2010, 10:34:22 PM

Title: Dudas con 'new_map'
Post by: FreeYourMind on May 11, 2010, 10:34:22 PM
Buenas, estoy intentando localizar un error que me ocurre sólo con Bennu, pienso que podria ser el new_map, o sea poniendo un:

new_map(scr_width, scr_height, 16);

con

const

scr_width = 320;
scr_height = 200;

la imagen me sale pintada sólo hasta la mitad de la pantalla, si hago por ejemplo un
new_map(scr_width - 100, scr_height, 16); esta se desloca correctamente hacia la izquierda, pero si hago un +100, esta no se desloca hacia la derecha. Podrias revisar esta funcion interna en Bennu y sus parametros a ver si lo esta haciendo todo bien (que no sea un problema como tenias con el map_block_copy cuando pintabas algo fuera de la zona visible...).
Grácias.
Title: Re: Dudas con 'new_map'
Post by: Drumpi on May 11, 2010, 11:26:34 PM
Me consta que esa función va bien, salvo que se haya metido algún cambio desde la r131 a dicha función.
Mira a ver si es cosa del punto de control o que estás dibujando parte de la imagen o símplemente fuera de ella. Prueba a crear el mapa más grande, o a poner un fondo de color y usar el flag NO_COLOR_KEY para ver dónde se dibuja. A mi me pasa a veces.
Title: Re: Dudas con 'new_map'
Post by: Windgate on May 12, 2010, 12:10:31 AM
Puede ser problema del punto de control como dice Drumpi... Quizás se esté posicionando respecto del punto superior izquierdo del gráfico y no respecto del centro... Prueba a dibujar la ventana de ejecución más grande y comprobar lo que pasa, es una dll bastante antigua, no creo que haya bug en ella.
Title: Re: Dudas con 'new_map'
Post by: FreeYourMind on May 12, 2010, 05:37:49 AM
Perdonad pero no he entendido nada  :D
Title: Re: Dudas con 'new_map'
Post by: Windgate on May 12, 2010, 06:05:08 AM
Todo map tiene un punto de control que indica el punto de referencia respecto del cual se posiciona.

Si has trabajado con FPGs te habrás fijado que los mapas se posicionan respecto de su centro.

A lo que me refiero, no sé dónde fija el punto de control un mapa creado con new_map. Ten en cuenta que a la hora de posicionar un mapa en la posición x=0 , y=0 cambia mucho según donde esté el punto de control:


¿Semen tiende?
Title: Re: Dudas con 'new_map'
Post by: FreeYourMind on May 12, 2010, 07:09:57 AM
Pero tu controlas el punto de control ? Por lo que veo, me parece que lo pone en x=0, y=0 y aparte de esto se puede deslocar alterando los valores de height, width, pero no hasta rellenar la pantalla hacia la derecha.

Aún no tengo claro donde este el problema pero me parece que es aqui.

O como cambias tu el punto de control ?
Title: Re: Dudas con 'new_map'
Post by: Mr Matsusaka on May 12, 2010, 08:28:33 AM
Para cambiar el punto de control se usa set_point (file, graph, x, y);
Otra manera de ver si es lo que dicen los compañeros es probar a poner el grafico en medio de la pantalla con un x=160; y=100;
En teoria cualquiera de las dos cosas funcionara.
Title: Re: Dudas con 'new_map'
Post by: FreeYourMind on May 12, 2010, 08:49:38 AM
Pero el x, y referencia directamente el mapa creado con new_map ? Pensaba que sólo lo hacia para un mapa puesto a pelo por ejemplo con graph=1;.

Voy a probar el set_point que desconocia por completo.
Grácias.
Title: Re: Dudas con 'new_map'
Post by: Drumpi on May 12, 2010, 12:01:10 PM
Mr matsusaka se ha confundido:
INT SET_POINT ( INT librería, INT gráfico, INT número, INT x, INT y )
O bien
INT SET_CENTER ( INT librería, INT gráfico, INT x, INT y )
Porque al menos yo no estoy seguro de dónde se establece el centro del mapa con new_map (o no me acuerdo ahora mismo). Lo que tienes que comprobar es:
a) en qué parte de la pantalla está puesto el mapa que has creado.
b) qué parte de la misma ocupa.
Haz pruebas con un mapa pequeño, lo más centrado posible, para ver cómo funciona.
Title: Re: Dudas con 'new_map'
Post by: SplinterGU on May 12, 2010, 12:04:56 PM
mapas que no tienen puntos de control definido, el centro es el centro del mapa... salvo el caso de capturas de pantalla que se pone automatico en el 0,0.
Title: Re: Dudas con 'new_map'
Post by: FreeYourMind on May 12, 2010, 12:46:23 PM
O sea, este mapa tendria que estar en el centro de pantalla ?

new_map(scr_width, scr_height, 16);
Title: Re: Dudas con 'new_map'
Post by: SplinterGU on May 12, 2010, 02:40:35 PM
si las coordenadas que pones son x=scr_width/2, y=scr_height/2... entonces si
Title: Re: Dudas con 'new_map'
Post by: Mr Matsusaka on May 12, 2010, 10:40:48 PM
Para cambiar la x y la y de un mapa puedes asignar el new_map a un graph de un proceso, tal que asi;

graph=new_map(etcetc...);
x=160;
y=100;

creo... ;D
Title: Re: Dudas con 'new_map'
Post by: SplinterGU on May 12, 2010, 11:00:46 PM
jejeje, eso si que lo sabe free...
Title: Re: Dudas con 'new_map'
Post by: Drumpi on May 13, 2010, 12:09:34 AM
Y que use los cursores para desplazarlo por la pantalla, lo mismo se lleva alguna sorpresa ;D
Title: Re: Dudas con 'new_map'
Post by: FreeYourMind on May 13, 2010, 05:44:25 AM
Quote from: SplinterGU on May 12, 2010, 11:00:46 PM
jejeje, eso si que lo sabe free...

Hhahahha.
^
Por cierto sólo he conseguido arreglar el eje X, el Y sigo teniendo problemas, a ver si doy con el clavo...