Hola Erkozone,ayer estuve toda la tarde intentando crear una estructura de niveles con gemix, como yo creo que deberia ser y he conseguido algo cercano a lo que yo quiero,te voy a pasar el ejemplo que he hecho con gemix para que lo estudies y ahora te voy a comentar como lo he hecho.
He creado dos procesos que se encarga cada uno de los niveles y otros cuatro que son objetos para cada nivel y en el proceso principal he puesto el codigo para salir de la aplicacion si se pulsa escape.
En el proceso nivel 1 le he puesto que si pulsas enter haga un let_me_alone,delete_text,nivel()2 y un break para matar el proceso,el problema es que el let_me_alone me mataba el proceso principal y no podia salir de la aplicacion,entonces estuve mirando en el foro si habia alguna forma de que el proceso principal ignorara el let_me_alone.
Encontre algo,y lo que encontre fue el .
Este hace lo mismo que el let_me_alone,pero lo bueno es que se puede usar con otra funcion que es esta.
Esta funcion sirve para que el proceso que le digas ignore el signal,gracias a esto pude hacer que el proceso principal ignorar el signal.
Luego esta el pulsar la tecla "R",con esta tecla reiniciamos el nivel,le puse lo mismo que en la tecla enter,solo que en vez de pasar al otro nivel pues me cargue el mismo nivel,le he puesto al
objeto que se pueda controlar con la teclas para moverlo y que cuando reinicias pues se vea que vuelve a la posicion inicial
Resumiendo,hay que usar signal() y signal_set_behaviour(),lo bueno de esta segunda funcion es que no solo sirve para ignorar el s_kill ,si no ,que tambien sirve para ignorar el s_sleep,s_freeze,s_wakeup y mas cosas,mira la documentcion txt de gemix para ver mas sobre esta funcion.
Pero lo bueno de signal_set_behaviour(),es que con esto podemos hacer el pause que tu quieres,podemos congelar todos los procesos y usar esta funcion para que los procesos que tu quieras ignoren la señal.
---------------------------------------------------------------------------------------------------------
Comentarte que sigo pensando que lo mejor es crear una clase especial solo para los niveles y que esta clase tenga funciones para pasar de nivel,reiniciar el nivel,pausar el nivel,hacer un fade en el nivel etc...
Te pongo el codigo hecho con gemix para que lo estudies,es poco codigo y lo he intentado hacer lo mas facil posible.
https://drive.google.com/file/d/1cFa29h ... sp=sharing