Get_Real_Point()

Started by BlySntK, April 23, 2012, 10:26:10 PM

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

BlySntK

Sé que habrá seguramente un hilo abierto con este tema, lo busqué y me informé, pero ya llevaba mucho tiempo y, como no me empano... decidí retomar el hilo haciendolo "nuevo" con una duda diferente; veamos, quiero usar get_real_point pero no sé exactamente en qué proceso debo llamarlo o cómo... La cuestión es que tengo al protagonista de mi plataformas que a veces, deberá agarrarse a anillas o cornisas o simples barras de metal suspendidas en el aire para no caer al vacío y el segundo punto de control del personaje, con el numero 1, se encuentra por el momento en su cabeza, más adelante estará en sus manos. Lo que quiero saber creo que es más que obvio, cómo hago para utilizar el get_real_point aquí? Funciona a traves el map_get_pixel o a través del collisionador?´

Gracias!
Esnucándote contra la pared no sé si conseguiré mucho, mejor lo pruebo y salímos de dudas ^_^
-------------------------------------------------------
Blaisantka Games > (Official developer web site)

KeoH

Mmmm ya sabia yo q me olvidaba responder a un mensaje xDDD He estado pensando y creo q no te hace falta. Si creas otro grafico del personaje como si estubiera colgando, y pones el punto de control 0 en sus manos, parecerá que está colgando del techo o de donde sea. Y mientras esté colgando que tenga ese grafico (o conjunto de graficos con animacion como si trepara)

BlySntK

Además había pensando algo así xD Hacer otro personaje con el punto de control cero en las manos xD y utilizarlo exclusivamente para eso.... porque, total... qué más iba a dar... pero no sé, aun así, quiero saber y entender cómo se utiliza esa función, por si acaso. si me lo podéis explicar, estaría bien.
Esnucándote contra la pared no sé si conseguiré mucho, mejor lo pruebo y salímos de dudas ^_^
-------------------------------------------------------
Blaisantka Games > (Official developer web site)

KeoH

Pero ademas get_real_point() creo q no se usa para eso .. esa funcion te sirve, creo recordad, para darte la posicion x e y de un punto de control del grafico del proceso q llama la funcion, y esas coordenadas son relativas a pantalla, no al grafico. Tu necesitas en todo caso relativo al mapa (que se conseguiria restandole la posicion del punto de control 0). Pero a lo que me refiero, no esque necesites crear otro personaje cuando este colgado, sino que sea el mismo proceso pero con otra animacion, y esos graficos tengan el punto 0 en las manos xD o la cabeza.

BlySntK

Tambien xD Igual me estába comiendo la cabeza siendo algo tan sencillo como eso xDDD anda que.... karma++ jefe :)
Esnucándote contra la pared no sé si conseguiré mucho, mejor lo pruebo y salímos de dudas ^_^
-------------------------------------------------------
Blaisantka Games > (Official developer web site)

Arcontus

Bien, creo que yo te puedo responder. En primer lugar, tienes el jugador que tendrá el punto de control donde te interese y en segundo lugar un puñado de anillas. Bien lo único que necesitas es lo siguiente:

* Array de anillas: contiene la x, y, grafico, y el punto en el grafico fpg.

TYPE anilla
    int x,
    int y,
    int graph;
END

anilla anillas[8];

Esto te sirve para 1 grupo de anillas, pero sospecho que quieres usar varios conjuntos de estas. La solución facil es:


TYPE anilla
    int x,
    int y,
    int graph;
END

TYPE arrayAnillas
    anilla anillas[8];
END

arrayAnillas miArraydeAnillas[8];


Ahora bien, eso te sirve para un conjunto de anillas lo suficientemente grande que harcodees desde el principio, pero si lo que quieres es una reserva de memoria dinamica, es decir que conforme vas creando anillas, reserven su espacio, eso ya es más complicado.

Espero que te sirva de ayuda.

Saludos!
5Leaps, el primer juego comercial desarrollado para BennuGD. http://www.5leaps.com

SplinterGU

te lo voy a explicar facil, sirve para saber en que coordenada se encuentra un punto de control especifico del graph del proceso...

por ejemplo, si tengo un grafico en x,y=10,10 y tengo el punto de control 1 en 10,20... get_real_point del punto del punto de control 1, retornara x,y=20,30... (tambien se tiene en cuenta size, angle, flags de mirror, xgraph, etc)

o sea, que sirve perfectamente para lo que queres hacer, lo de poner un punto de control en la mano y que te diga las coordenadas absolutas (no relativas al grafico) de ese punto de control en la pantalla o scroll, y ahi podras poner el grafico del arma o un ramo de flores o una canastita o lo que se te antoje.
Download Lastest BennuGD Release: http://www.bennugd.org/node/2

BlySntK

Quote from: SplinterGU on April 27, 2012, 02:54:02 AM
te lo voy a explicar facil, sirve para saber en que coordenada se encuentra un punto de control especifico del graph del proceso...

por ejemplo, si tengo un grafico en x,y=10,10 y tengo el punto de control 1 en 10,20... get_real_point del punto del punto de control 1, retornara x,y=20,30... (tambien se tiene en cuenta size, angle, flags de mirror, xgraph, etc)

o sea, que sirve perfectamente para lo que queres hacer, lo de poner un punto de control en la mano y que te diga las coordenadas absolutas (no relativas al grafico) de ese punto de control en la pantalla o scroll, y ahi podras poner el grafico del arma o un ramo de flores o una canastita o lo que se te antoje.

Lo que me gustaría saber, Splin, es cómo lo uso, dónde llamo a la función... ¿entiendes?
Esnucándote contra la pared no sé si conseguiré mucho, mejor lo pruebo y salímos de dudas ^_^
-------------------------------------------------------
Blaisantka Games > (Official developer web site)

SplinterGU

como desde donde la llamas? que opciones tenes?

1) se llama desde un proceso (desde donde mas la podrias llamas? las instrucciones en un prg se escriben en procesos o funciones¸ las funciones no tienen identidad propia validad, entonces...)
2) si los parametros son, punto de control, puntero a x y puntero a y, y en ningun caso especificas el grafico ni la lib, entonces, como se te ocurre que puede obtener los valores faltantes (libreria y grafico)? pues super facil y logico, del proceso desde el que se llama. de otra forma no seria logico ni razonable.

realmente no entiendo tu pregunta.
Download Lastest BennuGD Release: http://www.bennugd.org/node/2

BlySntK

Sí verás... si tengo el proceso personaje, y tengo otro proceso donde está la pantalla con las barras para que el personaje se balancee, y para que eso ocurra, lo puse con durezas, entonces, desde dónde debería llamar a la función get_real_point para que el personaje se agarrara a las barras... desde el proceso personaje o desde el proceso que recibe al proceso personaje...
Esnucándote contra la pared no sé si conseguiré mucho, mejor lo pruebo y salímos de dudas ^_^
-------------------------------------------------------
Blaisantka Games > (Official developer web site)

SplinterGU

a ver si con esto se entiende.

la funcion solo trabaja con el proceso desde el que se llama, es decir, "dame el las coordenadas absolutas de mi punto de control N".

una vez con las coordenadas, las publicas (con variables public o local) o lanzas el proceso arma, soga, etc, etc, etc.

tan mal lo explique?
Download Lastest BennuGD Release: http://www.bennugd.org/node/2

BlySntK

Creo comprender, sí... El proceso personaje siempre obtendra las coordenadas reales totales con la que luego podré trabajar en donde sea
Esnucándote contra la pared no sé si conseguiré mucho, mejor lo pruebo y salímos de dudas ^_^
-------------------------------------------------------
Blaisantka Games > (Official developer web site)

Arcontus

Creo que lo que preguntas es como hacer un "trigger" para que cuando tu pj se acerque al borde salte y se agarre a las anillas. Pues es facil, crea un proceso borde, que si colisiona el pj con el (o a la inversa) active el trigger, es decir, cambie lo que necesites que se cambie para que agarre el pj las anillas.

Saludos!
5Leaps, el primer juego comercial desarrollado para BennuGD. http://www.5leaps.com

BlySntK

Quote from: Arcontus on April 27, 2012, 03:53:58 PM
Creo que lo que preguntas es como hacer un "trigger" para que cuando tu pj se acerque al borde salte y se agarre a las anillas. Pues es facil, crea un proceso borde, que si colisiona el pj con el (o a la inversa) active el trigger, es decir, cambie lo que necesites que se cambie para que agarre el pj las anillas.

Saludos!

Realmente es lo que mejor solución he pensando que sería interesante de realizar, porque sólo quiero eso, que se agarre, balancee un poco (que con angle es fácil) y que cuando vuelva a saltar vuelva a coger punto central... pero vamos, casi lo tengo resuelto.
Esnucándote contra la pared no sé si conseguiré mucho, mejor lo pruebo y salímos de dudas ^_^
-------------------------------------------------------
Blaisantka Games > (Official developer web site)