Bennu Game Development

Foros en Español => Mesa de Ayuda => Topic started by: kestrel on May 23, 2010, 12:40:58 PM

Title: Duda sobre center_set()
Post by: kestrel on May 23, 2010, 12:40:58 PM
Hola. En primer lugar me gustaría felicitaros a todos, tanto desarrolladores del lenguaje, por su trabajo, como a los formáis parte de esta comunidad, porque estais haciendo que Bennu sea realmente algo grande, divertido y prometedor.

Quisiera preguntaros sobre una duda que me ha surgido sobre los puntos de control en un gráfico y el comportamiento de la función center_set(). He tratado de encontrar algo en la wiki pero no veo respuesta que me lo aclare. Supongamos que tenemos un gráfico de 100x100px como proceso en la pantalla. Al utilizar center_set() le paso las nuevas coordenadas del punto de control 0, que tendrán como límites las dimensiones del gráfico, o así lo entiendo yo.

La duda me surge si ahora en tiempo de ejecución modifico la variable 'size' del proceso, suponemos que inicialmente estaba a 100 y la subimos a 200. El gráfico será ahora de 200x200px pero, ¿cómo debería indicar las coordenadas si quisiera volver a utilizar set_center()?.

       1.- Utilizando los límites originales del gráfico, osea 100x100px, presuponiendo que set_center() ya tiene en cuenta el factor de escalado.

       2.- Indicando yo mismo las coordenadas ya modificadas por el factor de escalado.


¿Me podéis aclarar este aspecto, por favor?.

Un saludo
Title: Re: Duda sobre center_set()
Post by: Drumpi on May 23, 2010, 02:41:22 PM
Lo cierto es que Bennu oficialmente lo lleva una persona... aunque claro, si contamos con el apoyo de librerías no oficiales, y de todos los que hicieron Fenix, el "padre" de Bennu, y DIV como lenguaje, ahí sí, hay unas cuantas personas :D

Respecto a tu pregunta, es simple: set_center y todas las funciones afectan siempre al gráfico sin tener en cuenta rotaciones o escalados (lo digo por set_center, set_point, map_put_pixel...). La única función que no cumple esta norma, que yo recuerde ahora, es get_real_point por motivos obvios, que es para obtener un punto de la pantalla según posición, ángulo y rotación para colocar un arma, perseguir un punto...
Lo que ya no tengo tan claro es que set_center esté limitado por el tamaño de la imagen, creo que se podía colocar fuera de ella, al fin y al cabo, no son más que unas coordenadas relativas.

Por cierto: bienvenido, espero que lo pases bien programando, y para lo que sea, aquí estamos.
Title: Re: Duda sobre center_set()
Post by: kestrel on May 23, 2010, 03:35:59 PM
Qué velocidad Drumpy  :D, gracias por responder tan rápido.

Osea que si en el gráfico anterior de 100x100px, cuando size=200, al establecer center_set() en las coordenadas (100,100), a nivel de pantalla dicho punto de control quedaría en la esquina inferior derecha del gráfico, y no en el centro... ¿no es así?.

Respecto a los desarrolladores, totalmente de acuerdo en que Bennu se lo debemos a SplinterGU. No se mal entienda el plural; como también me he referido a la comunidad, estoy seguro de que habrá aquí gente que conocieron el DIV, DIV2, eDIV, Fenix y luego Bennu, luego mi enhorabuena era en realidad extensible a todos los que gracias a su esfuerzo en un modo (desarrolladores del lenguaje) u otro (entusiastas de la programación de juegos), han conseguido que DIV no muerese con Hammer :)

Y por supuesto eso incluye a SplinterGU, al que desde luego le rindo la debida pleitesía  :P

Gracias por la bienvenida  ;D
Title: Re: Duda sobre center_set()
Post by: SplinterGU on May 23, 2010, 05:33:22 PM
hacia tiempo que no posteabas, bienvenido nuevamente y gracias.
Title: Re: Duda sobre center_set()
Post by: Fede on May 23, 2010, 08:32:50 PM
Ala!, yo tambié me uno a los saludos.  :D
Title: Re: Duda sobre center_set()
Post by: FreeYourMind on May 23, 2010, 08:54:02 PM
Re-Welcome to your DOOM!
Title: Re: Duda sobre center_set()
Post by: Drumpi on May 23, 2010, 10:55:55 PM
Kestrel: la rapidez se ha debido a pura casualidad, no te mal-acostumbres ;D
Por cierto, ten cuidado: si el gráfico es de 100x100, la esquina inferior derecha es la posición (99,99), la posición superior izquierda es la (0,0) ;)