Autor Tema: Nueva variable local predefinida: collision_graph  (Leído 9142 veces)

KeoH

  • Hero Member
  • *****
  • Mensajes: 1170
  • Karma: 17
Re:Nueva variable local predefinida: collision_graph
« Respuesta #15 en: Agosto 21, 2012, 10:01:50 pm »
no me refiero a obtener la posicion de esos puntos de otro grafico del proceso ... sino obtener esos puntos de un proceso desde otro proceso. En vez de que esa funcion de la posicion de los puntos de su proceso llamador, que lo haga de cualquier proceso cuya id se le de como parametro. ¿Como podría hacerse eso? Imagina que tengo un proceso que se dedica exclusivamente a poner estrellas en  la posicion de la cabeza de los enemigos, primero tengo que saber donde esta exactamente la cabeza del bicho q tendra un punto de control en cada grafico del personaje. No se xDD imagina eso xDD

SplinterGU

  • Hero Member
  • *****
  • Mensajes: 12882
  • Karma: 377
Re:Nueva variable local predefinida: collision_graph
« Respuesta #16 en: Agosto 21, 2012, 10:56:56 pm »
no me refiero a obtener la posicion de esos puntos de otro grafico del proceso ... sino obtener esos puntos de un proceso desde otro proceso. En vez de que esa funcion de la posicion de los puntos de su proceso llamador, que lo haga de cualquier proceso cuya id se le de como parametro. ¿Como podría hacerse eso? Imagina que tengo un proceso que se dedica exclusivamente a poner estrellas en  la posicion de la cabeza de los enemigos, primero tengo que saber donde esta exactamente la cabeza del bicho q tendra un punto de control en cada grafico del personaje. No se xDD imagina eso xDD

primero no hay otros graficos de 1 proceso, hay graficos, que no pertenecen a ningun proceso, tu los asignas segun necesitas.

ahora, suponiendo que pid es el proceso que quiero obtener el punto de control, entonces

Código: [Seleccionar]
x=pid.x
y=pid.y
graph=pid.graph
flags=pid.flags
get_real_point....
Download Lastest BennuGD Release: http://www.bennugd.org/node/2

panreyes

  • Administrator
  • *****
  • Mensajes: 2233
  • Karma: 81
    • panreyes.com
Re:Nueva variable local predefinida: collision_graph
« Respuesta #17 en: Agosto 30, 2012, 10:00:52 am »
asi es, si quieres de otro grafico, debes cambiar la variable graph antes de llamar a la funcion.


Esto no me vale para todos los casos, porque si compruebo la colisión desde otro proceso el cambio de gráfico no me sirve :\


¿Tan mala idea sería implementar algo así? ¿Cuántos de nosotros utilizamos subprocesos para máscaras colisionables y cuántos árboles habremos matado ya con tanta CPU malgastada? xD

SplinterGU

  • Hero Member
  • *****
  • Mensajes: 12882
  • Karma: 377
Re:Nueva variable local predefinida: collision_graph
« Respuesta #18 en: Agosto 30, 2012, 03:35:11 pm »
asi es, si quieres de otro grafico, debes cambiar la variable graph antes de llamar a la funcion.


Esto no me vale para todos los casos, porque si compruebo la colisión desde otro proceso el cambio de gráfico no me sirve :\


¿Tan mala idea sería implementar algo así? ¿Cuántos de nosotros utilizamos subprocesos para máscaras colisionables y cuántos árboles habremos matado ya con tanta CPU malgastada? xD

como que no se puede hacer? si se puede cambiando el grafico y demas variables y luego restaurarlo.

la filosofia es que los procesos procesen cosas de si mismo... implementar esa funcion se puede, pero puede llegar a dar problemas de deathlock... no es la primera vez que esto se propone, incluso creo que lo has propuesto tu tambien, y ya explique en su momento que problemas podria dar esto.

edit: me quede colgado con lo de la funcion... pero ahora, el titulo propone "nueva variable collision_graph", no estas hablando de collision_x, collision_y, etc... asi que tranquilamente puedes switchear la variable graph para hacer una colision con un grafico diferente antes del frame...

no veo el problema... en base a la propuesta, seria solo 1 variable...

algo asi

Código: [Seleccionar]
local
    collision_graph;
end

#define SAVE_GRAPH_FOR_COLLISION(x) collision_graph=graph; graph = x;
#define RESTORE_GRAPH_FOR_COLLISION() graph=collision_graph;

...
    SAVE_GRAPH_FOR_COLLISION(<aca pongo collision_graph>)
...
    haces el collision aca
...
    RESTORE_GRAPH_FOR_COLLISION()
...


entre save y restore no debes usar frame y solo 1 vez usar SAVE a menos que uses restore antes.

no le veo problema de cpu, son 3 asignaciones de variables.
« última modificación: Agosto 30, 2012, 03:56:25 pm por SplinterGU »
Download Lastest BennuGD Release: http://www.bennugd.org/node/2

JaViS

  • Global Moderator
  • *****
  • Mensajes: 1295
  • Karma: 28
    • Anarkade
Re:Nueva variable local predefinida: collision_graph
« Respuesta #19 en: Agosto 30, 2012, 05:24:23 pm »

la filosofia es que los procesos procesen cosas de si mismo... implementar esa funcion se puede, pero puede llegar a dar problemas de deathlock... no es la primera vez que esto se propone, incluso creo que lo has propuesto tu tambien, y ya explique en su momento que problemas podria dar esto.



Me quede pensando en eso que decis y me gustaria saber cuales son esos problemas que mencionas, porque tengo que admitir que yo también pense en mas de una vez porque no se puede consultar muchas cosas sobre un proceso desde otro proceso, como por ejemplo, colisiones, puntos de control, etc.


Gracias!
Working on Anarkade. A couch multiplayer 2D shooter.