Agosto 03, 2012, 11:52:52 PM Ultima modificación: Agosto 04, 2012, 12:53:06 AM por Gunslito
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]


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.

Eso se llama 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])
El Manual

- Ley de la gravitación selectiva: toda herramienta se caerá donde produzca el mayor daño.
- Si todo parece estar bien, es obvio que uno no encontró el problema
- Todo aquello que se corte a medida resultara ser demasiado corto.
- Todo archivo borrado era necesario, todo archivo conservado es inutil
- Cuando a usted se le ocurra la solución ideal, alguien habrá resuelto ya el problema.

                                                               Murphy


#3 Agosto 04, 2012, 12:23:21 AM Ultima modificación: Agosto 04, 2012, 12:30:25 AM por Gunslito
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?


Es lo mismo pero con draw_sprite
El Manual

- Ley de la gravitación selectiva: toda herramienta se caerá donde produzca el mayor daño.
- Si todo parece estar bien, es obvio que uno no encontró el problema
- Todo aquello que se corte a medida resultara ser demasiado corto.
- Todo archivo borrado era necesario, todo archivo conservado es inutil
- Cuando a usted se le ocurra la solución ideal, alguien habrá resuelto ya el problema.

                                                               Murphy


Perfecto!!! lo he probado y me funciono de diez! Muchisimas gracias doy el tema por solucionado!!! =D


 :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  :(

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