Comunidad Game Maker

Ayuda => Preguntas y respuestas => Mensaje iniciado por: darkanse en Marzo 24, 2014, 09:22:34 PM

Título: Movimiento automático de tiles (solucionado)
Publicado por: darkanse en Marzo 24, 2014, 09:22:34 PM
Hola muy buenas, estoy haciendo un videojuego del género "endless running". Para ello lo que he hecho ha sido colocar mi personaje en una posición de la que no se va a "mover", simplemente saltar y para dar el efecto de que está corriendo, los objetos se mueven automáticamente a la izquierda. Esto lo hago para que la cámara siempre se mantenga estática en cuanto a horizontalidad y el personaje siempre quede en una posición más atrasada, para poder ver lo que le viene delante. El problema, es que el fondo quiero hacerlo mediante Tiles (no mediante background, ya que los tiles me dejan más libertad para distribuir a mi gusto) me gustaría que los tiles, al igual que los objetos, se movieran automáticamente a la izquierda en una velocidad de 7. ¿Cómo hago esto?

Gracias ;)
Título: Re:Movimiento automático de tiles
Publicado por: penumbra en Marzo 24, 2014, 09:29:31 PM
Pues yo iría por la opción de usar fondo, porque es mucho más rápido, si usas tiles tienes que mover tile por tile para dar el efecto de que se avanza, y si son muchos tiles....

Pero bueno, lo que preguntas se puede hacer usando

tile_set_position(id,x,y)

y ajustando el valor de x
Título: Re:Movimiento automático de tiles
Publicado por: Killer en Marzo 24, 2014, 09:45:08 PM
Probablemente seria mejor usar tile_layer_shift, que mueve todos los tiles en una misma profundidad, con tile_set_position tienes que encontrarlos y moverlos uno por uno, calculando la posición previa que tenían.

Con tile_layer_shift simplemente le dices cuanto quieres que se muevan y listo, por ejemplo:

tile_layer_shift(1000000,-7,0)

Esto hace que los tiles se muevan 7 pixeles a la izquierda, donde 1000000 es la profundidad de la capa de tiles, -7 es la distancia de x que debe moverse y 0 es la distancia de y que debe moverse.
Título: Re:Movimiento automático de tiles
Publicado por: penumbra en Marzo 24, 2014, 09:51:11 PM
uff es cierto. Me había olvidado totalmente de las capas de tiles, intuía que había un método más eficiente, pero jamás me acordé de esto.
Título: Re:Movimiento automático de tiles
Publicado por: darkanse en Marzo 24, 2014, 10:18:32 PM
Finalmente he optado por mover una capa completa de tiles, así no tengo que ir tile por tile usando eso, tile_layer_shift(1000000,-7,0)

el problema es que simplemente me lo mueve 7 a la izquierda y nada más, pero yo busco que sea una velocidad constante. ¿Algo que deba modificarle?

gracias de nuevo  :-[
Título: Re:Movimiento automático de tiles (sin solucionar)
Publicado por: Killer en Marzo 25, 2014, 01:17:01 AM
Ok, no te voy a decir exactamente lo que debes hacer porque parte de la idea de este foro es que aprendas y experimentes, no que si simplemente no te sale algo a la primera vengas a preguntar.

Entonces, si la función mueve los tiles 7 a la izquierda una vez y nada más, necesitas que la función se ejecute constantemente, donde pondrías un código que debe ejecutarse constantemente?
Título: Re:Movimiento automático de tiles (sin solucionar)
Publicado por: darkanse en Marzo 25, 2014, 03:10:03 AM
¿En un evento step quizas? estoy muy pegado en esto, soy bastante nuevo, pero me ha encantado tu idea, necesito aprender. ¿Respuesta correcta?
Título: Re:Movimiento automático de tiles (sin solucionar)
Publicado por: ivn_eze en Marzo 25, 2014, 03:21:24 AM
Citar¿Respuesta correcta?
pruebalo y veras si es la que tu pienzas xd
Título: Re:Movimiento automático de tiles (sin solucionar)
Publicado por: darkanse en Marzo 25, 2014, 04:15:11 AM
corroborado! funciona a la perfección! muchísimas gracias compañeros ;)