(https://i.gyazo.com/c7dd923a35397f5967d7d0a156f25699.gif)
Estoy seguro que la saga de "mega hombre" es la que mas abusa de esta mecánica de bloques que aparecen y desaparecen siguiendo un patrón de movimiento ¿pero como lo programan? desde mi punto de vista tendrían un objeto que se encarga de todas las colisiones y tiempo de aparición/desaparición, por otro lado el objeto puesto en la "room" tendría las coordenadas en donde serian creadas para una posterior desactivacion cumpliendo un ciclo infinito, de no hacer esto ultimo con el !creation code" habria que armar 1 objeto por cada patron ¿hay o han visto algún tutorial de :GMS: donde se muestre o explique esto?.
Hay varias opciones. Una de ellas es similar a lo que dices: tienes un objeto controlador de los bloques y éste los va creando y destruyendo en las posiciones dadas.
Otra opción es que simplemente se "teletransporten", o sea, tener 1 o 2 bloques que, luego de desvanecerse, se teletransporten y vuelvan a aparecer.
Cita de: Markus en Noviembre 15, 2017, 05:09:53 PM
Hay varias opciones. Una de ellas es similar a lo que dices: tienes un objeto controlador de los bloques y éste los va creando y destruyendo en las posiciones dadas.
Otra opción es que simplemente se "teletransporten", o sea, tener 1 o 2 bloques que, luego de desvanecerse, se teletransporten y vuelvan a aparecer.
Debo admitir que ambas observaciones son buenas, aunque la 1° parece mas acertada que la 2°, pues al igual que el código que sigue coordenadas con el path, habría que hacer una lista con la función instance_create y la instance destroy, claro que estas tendrían que manejar una variable a la que se le podría llamar control_tiempo, esta seria 0 y estaría en el "CREATE", por otro lado la lista estaría en un "STEP" junto con contador que vaya sumando a la variable control_tiempo, cuando esta alcance tal valor crea al objeto y cuando llegue a este otro lo destruye, creo que habría que considerar un evento de "ALARMA0", por lo tanto son 3 eventos en el obj_Bloque_Patron y unos "creation code" para darles coordenadas, esta ultima es porque queremos hacer 1 solo objeto que se pueda personalizar.
Bueno eso es lo que he logrado armar en mi análisis :-\.
Yo no he jugado Megaman, pero por lo que se ve en la imagen, parece que son 2 objetos que se teletransportan. Si fuese así, tal vez sería más fácil.
Cada objeto tendría un path que definiría su patrón de movimiento, un contador de tiempo y una variable que indicaría uno de sus 3 estados: apareciendo, totalmente visible y desapareciendo.
El contador marcaría el tiempo en el que el objeto se mantiene en cada estado, de ese modo, cuando finalice el tercer estado, pasa a la siguiente posición del path y al primer estado.
Si quieres ahorrarte las variables de estado y contador, puedes crear un sprite con la animación completa de los 3 estados. Así, usas el evento Animation End para cambiar a la siguiente posición del path.
Cita de: Markus en Noviembre 17, 2017, 11:19:41 AM
Yo no he jugado Megaman, pero por lo que se ve en la imagen, parece que son 2 objetos que se teletransportan. Si fuese así, tal vez sería más fácil.
Cada objeto tendría un path que definiría su patrón de movimiento, un contador de tiempo y una variable que indicaría uno de sus 3 estados: apareciendo, totalmente visible y desapareciendo.
El contador marcaría el tiempo en el que el objeto se mantiene en cada estado, de ese modo, cuando finalice el tercer estado, pasa a la siguiente posición del path y al primer estado.
Si quieres ahorrarte las variables de estado y contador, puedes crear un sprite con la animación completa de los 3 estados. Así, usas el evento Animation End para cambiar a la siguiente posición del path.
Bueno he descubierto un método de hacer las cosas para que tengan un comportamiento similar, y si es haciendo mas de 1 patrón para que puedan haber mas objetos al mismo tiempo.
Aunque igual me gustaría saber si alguien a programado esto o sabe de algún vídeo donde lo expliquen, estoy seguro que debe haber un sistema mas simple y eficiente que el que cree ahora.