Noticias

¡Ayuda a la Comunidad GM, haz una donación!

* Sponsor

Comunidad Game Maker

Bienvenid@ a la comunidad hispana de Game Maker. Nuestro objetivo es crear videojuegos y dar soporte en castellano de GM. Para mejorar nuestro servicio hemos implantado, como adicion al reglamento general, algunas normas especificas en los subforos más comunes. ¡No olvides informarte antes de participar!.

Autor Tema: SECUENCIAS???  (Leído 1165 veces)

0 Usuarios y 1 Visitante están viendo este tema.

Desconectado nonoroman

en: Abril 20, 2021, 11:08:41 pm
Buenas, pues estoy probando las Secuencias de la version 2.

Se mueve muy facil y todo muy bonito, pero...... Cuando termina la Secuencia, como se sale de ella??? Por ejemplo, para entra en otra Sala???

 ???

Saludos!!!

PCNONOGames  www.pcnono.es
 


No Tienes Permisos Para Dar Puntos
point 0 Puntos

Este tema no recibió puntos.


Desconectado nonoroman

Respuesta #1 en: Mayo 26, 2021, 10:26:43 pm
Bueno, parece ser que nadie sabe como funciona las sequences???  :-[

PCNONOGames  www.pcnono.es
 


Desconectado Void

Respuesta #2 en: Mayo 27, 2021, 06:24:16 am
Puedes usar la función layer_sequence_get_headpos() para ver en que posición esta la secuencia, una vez llega a la posición que quieres ejecutas el código que quieres:   

if layer_sequence_get_headpos(Sequence_id) >= 150 {
    room_goto_next()
}



Alternativamente, puedes hacer que la secuencia transmita un mensaje en la posición en que quieres ejecutar el código:



Luego en el evento Broadcast Message colocas el código que ocupas que corra cuando la secuencia envia el mensaje:

if event_data[? "event_type"] == "sequence event"{
    switch (event_data[? "message"]){
        case "Finish":
            room_goto_next();
            break;
    }
}



También podrías simplemente poner un objeto al final de la secuencia que tenga el código que quieres usar:





Finalmente, puedes agregar un "momento" a la secuencia, en el que se ejecutará una función de script previamente definida:



Con la funcion de script ejecutando el código que necesitas:

/// @function change_room();
function change_room(){
    room_goto_next();
}

 
Los siguientes usuarios dieron las gracias a este tema: nonoroman


Desconectado nonoroman

Respuesta #3 en: Mayo 27, 2021, 04:08:41 pm
Ok, muy buena explicación. Pues voy a probarlo, supongo que con algún método daré  con la tecla.

Es que esta función no la había utilizado antes, creo que es nueva en la versión 2 sino me equivoco.

Muchas gracias. Saludos. 😉

Puedes usar la función layer_sequence_get_headpos() para ver en que posición esta la secuencia, una vez llega a la posición que quieres ejecutas el código que quieres:   

if layer_sequence_get_headpos(Sequence_id) >= 150 {
    room_goto_next()
}



Alternativamente, puedes hacer que la secuencia transmita un mensaje en la posición en que quieres ejecutar el código:



Luego en el evento Broadcast Message colocas el código que ocupas que corra cuando la secuencia envia el mensaje:

if event_data[? "event_type"] == "sequence event"{
    switch (event_data[? "message"]){
        case "Finish":
            room_goto_next();
            break;
    }
}



También podrías simplemente poner un objeto al final de la secuencia que tenga el código que quieres usar:





Finalmente, puedes agregar un "momento" a la secuencia, en el que se ejecutará una función de script previamente definida:



Con la funcion de script ejecutando el código que necesitas:

/// @function change_room();
function change_room(){
    room_goto_next();
}

PCNONOGames  www.pcnono.es
 


Desconectado nonoroman

Respuesta #4 en: Junio 01, 2021, 10:14:05 pm
Vale, funciona, ya lo voy entendiendo. Lo que no tengo claro es si hay que destruir o eliminar la secuencia una vez finalizada su tarea. Y si es así, como sería??

 :-[

Puedes usar la función layer_sequence_get_headpos() para ver en que posición esta la secuencia, una vez llega a la posición que quieres ejecutas el código que quieres:   

if layer_sequence_get_headpos(Sequence_id) >= 150 {
    room_goto_next()
}



Alternativamente, puedes hacer que la secuencia transmita un mensaje en la posición en que quieres ejecutar el código:



Luego en el evento Broadcast Message colocas el código que ocupas que corra cuando la secuencia envia el mensaje:

if event_data[? "event_type"] == "sequence event"{
    switch (event_data[? "message"]){
        case "Finish":
            room_goto_next();
            break;
    }
}



También podrías simplemente poner un objeto al final de la secuencia que tenga el código que quieres usar:





Finalmente, puedes agregar un "momento" a la secuencia, en el que se ejecutará una función de script previamente definida:



Con la funcion de script ejecutando el código que necesitas:

/// @function change_room();
function change_room(){
    room_goto_next();
}

PCNONOGames  www.pcnono.es
 


Desconectado Void

Respuesta #5 en: Junio 02, 2021, 07:51:10 am
Las secuencias no se destruyen automáticamente al llegar a su cuadro final, dependiendo del comportamiento que se le ha dado se quedaran en su cuadro final, se regresaran a su cuadro inicial y empezaran de nuevo, o se ejecutaran en reversa hasta llegar al punto inicial y volverán a empezar.

Es a criterio propio cuales secuencias se deben eliminar y cuales pueden seguir existiendo. Para eliminarlas se puede usar la función layer_sequence_destroy():

if layer_sequence_is_finished(Sequence_id)
    layer_sequence_destroy(Sequence_id)

 
Los siguientes usuarios dieron las gracias a este tema: nonoroman


Desconectado nonoroman

Respuesta #6 en: Junio 02, 2021, 08:56:55 am
Muchas gracias, lo pruebo. Por cierto, y para crear por código una secuencia que no se encuentra en la room??

 ???

PCNONOGames  www.pcnono.es
 


Desconectado Void

Respuesta #7 en: Junio 02, 2021, 11:26:05 am
Para crear secuencias con código se usa layer_sequence_create():

layer_sequence_create(Layer_ID,x,y,Sequence_ID)

Como consejo, si vas a seguir experimentando con secuencias deberías empezar por el manual

layer_sequence_create
Capas de Sequencia
El Editor de Secuencias

 
Los siguientes usuarios dieron las gracias a este tema: nonoroman


Desconectado nonoroman

Respuesta #8 en: Junio 02, 2021, 11:54:43 am
Muchas gracias. Si, si el manual fue lo primero que mire, pero esta super mal estructurado y explicado.

O al menos, eso me ha parecido.


PCNONOGames  www.pcnono.es