Comunidad Game Maker

Ayuda => Preguntas y respuestas => Mensaje iniciado por: fatalfury en Febrero 19, 2013, 06:40:22 PM

Título: ¿Cual es la diferencia entre begin step, step y end step?
Publicado por: fatalfury en Febrero 19, 2013, 06:40:22 PM
Buenas tardes

Quisiera que alguiien me explicara la diferencia y el uso de cada uno de estos eventos para utlizarlos de la mejor manera.


Muchas Gracias
Título: Re:¿Cual es la diferencia entre begin step, step y end step?
Publicado por: Mgbu en Febrero 19, 2013, 06:57:27 PM
Que yo sepa son lo mismo pero en orden, o sea primero se ejecuta el Begin Step, luego el Step, y despues el End Step.

Entonces:

*Se crea el juego*
Game Start

*Se inicia la Room*
Room Start

*Se crea el objeto*
Create

*Cada vez que el juego se actualiza (por defecto es 30 veces por segundo)*
Begin Step
Step
End Step
Draw

*Se destruye el objeto*
Destroy

*Se termina la room*
Room End

*Se cierra el juego*
Game End


Despues los otros eventos se ejecutan cuando ocurre determinada cosa (Se activa una alarma, se presiona una tecla, etc.)
Lo que tiene de especial el evento Draw es que es el unico que puede ejecutar acciones de dibujado
A lo mejor hay alguno desordenado pero si tenes en cuenta ese orden no vas a tener problemas
Título: Re:¿Cual es la diferencia entre begin step, step y end step?
Publicado por: penumbra en Febrero 19, 2013, 07:49:19 PM
La diferencia es que uno se ejecuta primero que el otro.   ;D

De los tres, el STEP normal es el más usado, pero puedes usar BEGIN STEP por ejemplo, para asegurarte que ciertas cosas pasen antes que otras cosas, y que después pase algo más en STEP, y que después ocurra algo más en END STEP.

Después de que el juego se crea (GAME START), el orden de eventos es (sacado de wiki)

Create Event (una vez)
Begin Step
Alarm 0
Keyboard and mouse
Keyboard and mouse press
Keyboard and mouse release
Step
End Of Path
Outside room
Intersect Boundary
Collision events
End Step
Draw
Animation End

Es interesante ver que las colisiones se evalúan ANTES que END STEP, por lo que tu código puede funcionar bien en STEP y no en END STEP, o viceversa. A mi esto me ocurrió y no sabía por qué motivo pasaba.  ???
Título: Re:¿Cual es la diferencia entre begin step, step y end step?
Publicado por: pucara en Febrero 20, 2013, 02:49:42 PM
Muy útil la pregunta y por supuesto, la respuesta penumbrera  :)

Yo tengo pequeñas notas con estas cosas, ejemplos prácticos y otras lineas de código, además de unos cuantos scripts. Te salvan la vida constantemente cuando estás desarrollando un juego, además que a fuerza de usarlas y leerlas acabas aprendiendo.

Me llevo la prioridad de eventos, me parece genial tenerlo en cuenta, sobre todo para saber porqué pasan las cosas cuando compilas y ejecutas.

Saludos  8)
Título: Re:¿Cual es la diferencia entre begin step, step y end step?
Publicado por: ferhand en Febrero 20, 2013, 04:51:36 PM
   Saludos makeros:


   Una aclaración válida es que estos eventos se suceden uno tras otro pero siguiendo la lista de las instancias creadas en el juego.

  Cada instancia tiene un número cuando se crea. Siguiendo ese número se ejecutan los eventos. Por ejemplo:

  El evento "Create" de la instancia 000001, luego el evento "Create" de la instancia 000002, el evento "Create" de la instancia 000003, etc.
Más tarde el evento "Begin Step" de la instancia 000001, luego el evento "Begin Step" de la instancia 000002, el evento "Begin Step" de la instancia 000003, etc.

No se si será útil, pero creí que podía ser de interés... ;D