Bennu Game Development

Foros en Español => Mesa de Ayuda => Topic started by: gianfrancopintus on January 02, 2010, 02:34:47 AM

Title: Matar proceso desde otro procso
Post by: gianfrancopintus on January 02, 2010, 02:34:47 AM
Como hago para matar un proceso que es llamado por un proceso padre desde el proceso padre.
Ejemplo parte del loop del protagonista()
[code language="bennu"]
      IF ( collision ( type disparoEnemigo ))                 

         IF (vida == 0)

            exit(0);

         ELSE         

            vida = vida - 10;
//Esto obviamente no existe, pero es lo que quiero hacer, matar al proceso disparoEnemigo() desde protagonista()
            disparoEnemigo.Break;

                                                               
         END

      END   

[/code]

Gianfranco Pintus
Title: Re: Matar proceso desde otro procso
Post by: josebita on January 02, 2010, 03:40:45 AM
Prueba:
[code language="bennu"]
      IF ( proceso_colision = collision ( type disparoEnemigo ))
         IF (vida == 0)
            exit(0);
         ELSE
            vida = vida - 10;
//Debes referenciar al proceso en concreto con el que has colisionado, que se guarda en la variable (debes definirla proceso_colision)
            signal(proceso_colision, S_KILL);
         END
      END   
[/code]
Title: Re: Matar proceso desde otro procso
Post by: Futu-block on January 02, 2010, 09:41:11 AM
uffff, eso de matar un proceso no lo llevo muy bien...
Title: Re: Matar proceso desde otro procso
Post by: SplinterGU on January 03, 2010, 01:17:38 AM
si es un proceso que tu mismo has creado, con mandarle una señal al id que has obtenido tras la creacion es suficiente...

ejemplo...


pid_hijo = hijo();

...

signal( pid_hijo, S_KILL );

Pero si lo que quieres es hacerlo tras un colision, entonces es como dijo josebita.