Comunidad Game Maker

Ayuda => Preguntas y respuestas => Mensaje iniciado por: empardopo en Diciembre 04, 2014, 10:24:31 AM

Título: Step General
Publicado por: empardopo en Diciembre 04, 2014, 10:24:31 AM
Buenas, tengo una duda sobre el evento Step.

¿Existe por así decirlo un STEP general para toda la aplicación o hay uno por cada objeto?
He estado trasteando y "la solución" o alternativa para tener un STEP general y desde ahí poder controlarlos a todos es quizás crearnos un objeto no visible y desde su evento step manejar cosas y propiedades del resto, no? Sería esta la solución?

Explico un poco lo anterior... Me he creado obj_prueba con una imagen asociada y en su evento step le he metido image_xscale -= 0.01 de forma que el tamaño del objeto va disminuyendo.
He conseguido hacer lo mismo creándome un objeto no visible al que en el evento step le he metido la siguiente línea obj_prueba.image_xscale -= 0.01 consiguiendo el mismo efecto.
Soy totalmente ignorante en GameMaker pero bajo mi punto de vista creo que esta segunda opción es mejor pero no lo sé. ¿Alguien?


Saludos
Título: Re:Step General
Publicado por: penumbra en Diciembre 04, 2014, 10:49:02 AM
El evento STEP es por objeto, hay tantos eventos steps "individuales" como objetos cón código en su evento STEP (colocados en la room o creados desde código). Esto se puede comprobar usando el debugger de GMS, ahí se ve cómo en realidad cada objeto llama a su evento STEP. Se suele hablar del evento STEP como algo global o general porque todos los steps se realizan en conjunto (siempre antes que cualquier DRAW y siempre después que cualquier CREATE).

Cita de: empardopo en Diciembre 04, 2014, 10:24:31 AM
Soy totalmente ignorante en GameMaker pero bajo mi punto de vista creo que esta segunda opción es mejor pero no lo sé. ¿Alguien?
Es prácticamente lo mismo, se está ejecutando la misma función (image_xscale) para el mismo objeto, en un caso de manera local y en otro caso se llama a la función desde otro objeto. Al objeto no visible se le llama comúnmente controlador y precísamente se usa así como lo has hecho: puede cambiar propiedades de otros objetos y manejar cosas generales, pero cualquier forma es válida, depende de cómo prefieras organizar tu proyecto.
Título: Re:Step General
Publicado por: empardopo en Diciembre 04, 2014, 11:57:28 AM
Muchas gracias Penumbra.

Realmente mi pregunta de si era mejor iba encaminada más bien en cuanto a organización del fuente del programa/juego que finalmente desarrolle. Mi intención es intentar hacer el máximo posible mediante GML pero más que nada y en principio por no haber usado nunca Game Maker creo que es un poco más organizado. Ahora mismo mi percepción es que para buscar códigos hay que ir saltando por todos los distintos objetos y dentro de ellos por todos y cada uno de sus eventos, etc. Creo que si se puede organizar más con scripts sería luego más fácil de mantener, etc aunque lo mismo ando equivocado.

Saludos y muchas gracias por contestar.