Autor Tema: Saber tipo de proceso del padre  (Leído 938 veces)

Yawin

  • Hero Member
  • *****
  • Mensajes: 1091
  • Karma: 45
  • La primera persona que ha "demosceneado" en Bennu.
Saber tipo de proceso del padre
« en: Enero 24, 2013, 01:04:29 pm »
Os comento mi problema:


Tengo diseñado el proceso disparo al que lo llaman los procesos enemigo y nave. Y, claro, depende de quién lo llame, su comportamiento es distinto. ¿Hay algo que sirva para saber qué tipo de proceso es el padre?
Sigue el desarrollo de mi motor RPG: https://www.youtube.com/watch?v=TbsDq3RHU7g

process main()
       begin
           loop
               pedo();
               frame;
            end
       end

alex

  • Sr. Member
  • ****
  • Mensajes: 262
  • Karma: 7
  • BENNUGD!!!
Re:Saber tipo de proceso del padre
« Respuesta #1 en: Enero 24, 2013, 01:29:59 pm »
Modifica la llamada al proceso disparo es una opcion... Sobre lo que dices, con get_id(father) a lo mejor

panreyes

  • Administrator
  • *****
  • Mensajes: 2247
  • Karma: 82
    • panreyes.com
Re:Saber tipo de proceso del padre
« Respuesta #2 en: Enero 24, 2013, 01:39:57 pm »

Lo recomendable es utilizar variables locales para averiguar cosas entre diferentes procesos.


De todas formas se puede averiguar el nombre del proceso, pero no es la forma más recomendable.


Para ello tendrás que utilizar un bucle, get_id(father) y una comparación con cada tipo de proceso que quieras comprobar.


Código: [Seleccionar]
tipo=0;
while(posible_id=get_id(type proceso1) and tipo==0)
  if(posible_id==father.id) tipo=1; break; end
end
while(posible_id=get_id(type proceso1) and tipo==0)
  if(posible_id==father.id) tipo=2; break; end
end
while(posible_id=get_id(type proceso1) and tipo==0)
  if(posible_id==father.id) tipo=3; break; end
end
while(posible_id=get_id(type proceso1) and tipo==0)
  if(posible_id==father.id) tipo=4; break; end
end


Por otro lado, si utilizas variables locales lo tendrás mucho más fácil:


Código: [Seleccionar]
Local
  tipo;
Begin
  tipo=4;
  gorila();
  while(!key(_esc)) frame; end
End


Process gorila();
Begin
  write(0,0,0,0,father.tipo);
End

SplinterGU

  • Hero Member
  • *****
  • Mensajes: 12929
  • Karma: 378
Re:Saber tipo de proceso del padre
« Respuesta #3 en: Enero 24, 2013, 02:45:31 pm »
repetido...

variable local

reserved.process_type
Download Lastest BennuGD Release: http://www.bennugd.org/node/2

Yawin

  • Hero Member
  • *****
  • Mensajes: 1091
  • Karma: 45
  • La primera persona que ha "demosceneado" en Bennu.
Re:Saber tipo de proceso del padre
« Respuesta #4 en: Enero 24, 2013, 03:03:57 pm »
gracias! Al final he optado por crear un proceso a parte llamado disparoenemigo. Era mucho lio de colisiones. Así más fácil.
Sigue el desarrollo de mi motor RPG: https://www.youtube.com/watch?v=TbsDq3RHU7g

process main()
       begin
           loop
               pedo();
               frame;
            end
       end