Punto de control e interaccion con el mismo

Started by Outlaw, August 17, 2011, 01:00:26 AM

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

Outlaw

Hola, tengo grandes dudas con los puntos de control, con todos menos el 0... :P ... me explico, tengo dos procesos, uno "enemigo" el otro "prota", enemigo es representado por el grafico de un lobo, y quiero que cuando enemigo choque con prota le reste energia pero desde una colision o algun tipo de interaccion con el punto de control 1 que se encuentra en el hocico del lobo, es decir, he guardado el punto de control 0 en el centro, dado que es de vista cenital el juego, al girar, y tener eje en el hocico queda muy feo, por eso deje el punto de control 0 en el centro para esas cosas, y le agregue el punto de control 1 para atacar al prota. Intente hacerlo con get_point pero no entiendo como usarlo, o no se si se podra hacer una colision con otro punto de control que no sea el 0...gracias de antemano
"Life is cheap when the bounty is high"

Drumpi

Colisión no se hace con los puntos de control, sino con cualquier pixel que no tenga el valor 0 (transparente).
Get_point almacena en las dos últimas variables (de ahí que se usen punteros) la posición del punto de control EN EL GRÁFICO respecto de la esquina superior izquierda (no tiene en cuenta ni rotaciones ni escalados).
Para lo que estás haciendo debes usar GET_REAL_POINT, ya que te devuelve coordenadas de PANTALLA, incluyendo rotaciones, escalados y demás.
La única pega es que sólo se puede llamar desde el proceso que tenga ese gráfico, por lo que para obtener las coordenadas debes mostrarlas al exterior, bién guardándolas en variables globales/locales/publicas o pasándolas por punteros.

Una solución fácil es que tengas un proceso con un gráfico con alpha=0, que sea hijo de ese lobo, y que sea el lobo el que modifique su X y su Y usando las coordenadas de GET_REAL_POINT. El gráfico de ese hijo puede ser un punto, un círculo para tener mayor radio de acción, o cualquier otra forma que se adapte mejor. De esta forma, el prota sólo necesitará comprobar la colisión con este proceso hijo.

Si no me he explicado bien, pregúntame cuando haya sol :D
Hala, como con 1001 procesos sólo va a 9 FPS, vamos a meterle 32 veces más, a ver si revienta.
(Drumpi epic moment)

Outlaw

Aha! Entiendo a lo que te referis Drumpi, y gracias por aclararme un poco la cosa, a fin de cuentas seria algo asi como disparar un proceso invisible desde el hocico del lobo que colisione con prota y listo, pero desde ese punto de control... creo que entendi bien!
"Life is cheap when the bounty is high"

Drumpi

No es necesario "dispararlo", con mantenerlo fijo te vale :D. Es lo que se utiliza para fijar un arma a un personaje ("Echo") o para detectar las colisiones en los juegos de lucha ("Masters of Invento Fighters" y creo que "The king of fighters: flames of courage" usan esta técnica).

Además, los puntos de control te pueden ayudar para determinar el punto de salida de un disparo o para colocar una articulación de un personaje y así colocar las piernas y hacer una animación estilo flash (se usaba en muchos de los enemigos de los "Castlevania" desde el de PSX).
Hala, como con 1001 procesos sólo va a 9 FPS, vamos a meterle 32 veces más, a ver si revienta.
(Drumpi epic moment)