Buenas, lo primero aclarar todo ya que el titulo de este tema, no se entiende nada; En mi proyecto tengo un Obj_control que es el encargado de generar unas bolas, el problema que e tenido que en ese mismo objeto e ido metiendo diferentes funciones valla que por asi decir es el motor del juego, "contiene todas las variables,los draws de los marcadores...", bueno al tema, en ese objeto tengo :
CREATE:
alarm[0] = X;
alarm[1] = X;
global.juego = false;
ALARM0
" Hay tengo un generador de bolas con un random pero no lo pego por que es largo, pero aclaro que para una mejor organización, al principio de todo tengo un comprobador que dice if global.juego == true { "TODO EL CODIGO " }
ALARM1
"Practicamente lo mismo, el if para detectar si el juego es true, y luego otro generador"
Y bueno después de explicar lo importante, ahora llega mis problemas; En el evento step tengo un comprador de vidas, si esta a 0 lo que hace es poner global.juego = false; Esto lo hace tranquilamente por que esta dentro de ese mismo obj_control, pero claro en ese step tambien tengo que cuando el comprobador vidas = 0, que cree un obj_revivir , y aqui es el error; ya que ese obj_revivir no tiene creadas esas alarm[0] y alarm[1] entoces en el "left pressed o released" del obj_revivir pongo que globla.juego = true; pero claro no detecta las alarmas, debo aclarar que estoy trabajando en una sola ROOM, con lo cual ese obj_control donde esta TODO, por asi decir aun sige activado no esta destruido, necesito saber como volver a generar esas alarmas y que a la hora de darle, vuelva a funcionar.
Espero que lo entendais, e intentado explicar lo mejor posible pero siempre puede haber dudas...
Saludos
¿a quién quieres revivir? ¿al objeto control?
si! Osea no es revivir, mejor dicho es llamar a las alarmas 0 y 1 del obj_control ya que son las que generan las bolas...;
mire obj_control = GENERA BOLAS , si control de vidas = 0 , entoces global.juego = false; (si es falso, no va generar nada) y por ultimo tambien detecta en el step que si es 0 vidas, crea el obj_revivir(su funcion,es darle y volver a jugar si no se sale) entoces si le das deberá volver a caer las bolas... ese es el funcionamiento ;)
en el objeto revivir:
evento left pressed:
[gml]
global.juego = true;
with(objeto control)
{
alarm[0] = x;
alarm[1] = x;
}
[/gml]
sige sin cojer las alarmas :(
¿el objeto revivir debe reactivar las alarmas del objeto control o tiene sus propias alarmas?
el obj control es el que tiene todas las alarmas , si exactamente el objeto revivir tiene que llamar a las alarmas del objeto control
Lo he probado y funciona correctamente.
Una cosa importante:
el evento Left pressed funciona si usas sprite
el evento Global Left pressed funciona sin usar sprite debido a que reconoce cualquier clic que se haga en la pantalla del juego.