Comunidad Game Maker

Ayuda => Preguntas y respuestas => Mensaje iniciado por: Gunslito en Agosto 03, 2012, 11:52:52 PM

Título: Backgrounds / Profundidades[Solucionado]
Publicado por: Gunslito en Agosto 03, 2012, 11:52:52 PM
Hola buenas Makeros como va?
Quería hacerles otra preguntita,
Estoy haciendo un juego de plataformas en 2D y ahora que me puse con el tema de los stages, llegué a mi primer  problema estético.
Por ej quiero tener distintas "capas" que se muevan a distintas velocidades como profundidades\perspectivas.
Por ej
---Fondo---
--Objetos Muy Lejanos--
-Objetos Lejanos-
Donde camina el personaje
-Objetos Cercanos-
--Objetos Muy Cercanos--

Entonces el fondo se movería, pero muuuuy poco con respecto a la view normal (Donde camina el personaje)
Objetos Muy Lejanos se moveria lento pero mucho mas rapido que "FONDO"
y así sucesivamente.
¿Puede lograrse ésto en Game Maker? Espero respuesta, gracias de antemano! Saludos

___
[Solución]

Para Backgrounds:
_____
draw_background(back_fondo,view_xview[0]/3,view_yview[0])
Para Sprites animados:
_____
draw_sprite(spritename,-1,view_xview[0]/3,view_yview[0]
Si divides por mas o por menos varía la velocidad en X respecto a la View[0]
Título: Re:Backgrounds / Profundidades
Publicado por: elviskelley en Agosto 04, 2012, 12:09:49 AM
cuando creas un room en la pestaña background podes colocar varios, la profundidad de uno al otro se vera por el numero del background, ejemplo: el background 0 es un cielo y el background 1 una montaña, la montaña se vera sobre el cielo.
Título: Re:Backgrounds / Profundidades
Publicado por: Mgbu en Agosto 04, 2012, 12:12:28 AM
Eso se llama paralaje (http://es.wikipedia.org/wiki/Paralaje)
Tenés que dibujar los fondos desde un objeto, entonces en el deraw iría algo así como:

draw_background(back_fondo,view_xview[0]/3,view_yview[0])

Tenés que cambiar el 3 para la velocidad, con un poco de matemática te das cuenta que mientras más grande el numero mas lento se mueve
para lo objetos cercanos lo dividis por numeros entre 0 y 1, o lo multiplicas:

draw_background(back_fondo,view_xview[0]*3,view_yview[0])
Título: Re:Backgrounds / Profundidades
Publicado por: Gunslito en Agosto 04, 2012, 12:23:21 AM
Muchisimas gracias! Ya mismo lo pruebo y si funciona edito, muchas gracias a los dos por la ayuda =)
EDIT:
Y si quiero agregar un sprite animado de fondo con esas características, es posible?
Título: Re:Backgrounds / Profundidades
Publicado por: Mgbu en Agosto 04, 2012, 12:42:27 AM
Es lo mismo pero con draw_sprite
Título: Re:Backgrounds / Profundidades
Publicado por: Gunslito en Agosto 04, 2012, 12:50:58 AM
Perfecto!!! lo he probado y me funciono de diez! Muchisimas gracias doy el tema por solucionado!!! =D
Título: Re:Backgrounds / Profundidades[Solucionado]
Publicado por: 12nes en Agosto 06, 2012, 01:41:12 AM
 :o  :o  :o
esto es justo lo que venia a buscar
amo esta comunidad  :-*
siempre anda un paso adelante de lo que quiero
___
PD:
perdon por el crap  :(
Título: Re:Backgrounds / Profundidades[Solucionado]
Publicado por: Gunslito en Agosto 06, 2012, 01:47:46 AM
Bueno, ya que estás pasate por el próximo post que hice que está mas detallado otro tema y podría servirte, saludos! (Si en vez de dividir multiplicas podes crear la sensación que el objeto está por DELANTE del personaje) Saludos!

draw_sprite(spritename,-1,x+view_xview[0]/3,y+0) Fondos lejanos (Varía la velocidad según la division)
draw_sprite(spritename,-1,x+view_xview[0]*3,y+0) Imagenes cercanas (Varía la velocidad según el numero por el cual lo multiplícas