Hola a todos!

He creado un codigo que lo unico que hace es dar el efecto Parallax Scrolling y todo ha salido bien, el unico problema es que cuando el la view no se esta moviendo lo ideal seria que los backgrounds que estan usando este efecto se dejaran de mover pero no es asi. Cree un if para hacer que cuando se cumpla, los backgrounds no se muevan. El problema esta en que no se que funcion poner para hacer que cuando la view no se mueva (algo asi como cuando llegas al borde de la pantalla) no se ejecute.

Mi codigo:


if
{
   background_hspeed[0] = obj_jugador_01.intVX / 10;
   background_vspeed[0] = obj_jugador_01.intVY / 10;
}


Espero haberme sabido explicar.
Saludos!!

background_x[X] = view_xview/2

Lo acabo de probar y me funciona, cuando llego al borde de la pantalla deja de hacer parallax. Ajusta los valores para personalizarlos a tu gusto y añade también para Y. Avísame con lo que sea!

¿Algo así?
[gml]
if(view_xview[0] <= 0 or view_xview[0] >= room_width - view_wview[0])
{
   background_hspeed[0] = obj_jugador_01.intVX / 10;
   background_vspeed[0] = obj_jugador_01.intVY / 10;
}
[/gml]
alaberga regué el café.

BA:STFW&RTFM

#3 Julio 01, 2017, 03:24:21 AM Ultima modificación: Julio 01, 2017, 06:10:46 AM por Sergio Luis
Bueno... antes que nada les agradesco a ambos por responder y me disculpo por no haber hecho esto antes, es que crei que nadie habia respondido  :-[

En respuesta a [user]SarTaeL[/user]:

Esto es lo que puse:
    background_x[2] = view_xview[0] * 0.7;
    background_y[2] = view_yview[0] * 0.7;


Ese codigo me funciono, pero tiene un problema y esta en la segunda línea (la del posicionamiento vertical) veras, por alguna razón el background que estoy usando se posiciona mas arriba de lo que deberia estar, he tratado de arreglar eso cambiando el posicionamiento Y del background desde la room pero lo ignora por completo. Supongo que esto se debe a que (segun lo poco que se de gml) el codigo que mostraste lo que hace es que el background tenga la misma posición Y que la view, y si es así ¿que puedo hacer?

En respuesta a [user]NiuWeb[/user]:

Si, algo asi. No me funciono pero creo que ya no hace falta :,v

Gracias a los dos por la ayuda!

Puedes sumar un valor para que se desplace hasta donde se necesita.
[gml]
background_y[2] = view_yview[0] * 0.7 + algo;
[/gml]

Eso es lo que he estado haciendo de momento, pero la verdad es muy molesto, quisiera poder solucionar esto desde codigos, yo he estado diseñando uno desde mi mente y creo que lo mejor seria crear una varible que calcule cuantos pixeles hay entre el background y el borde de la pantalla para que asi este sea un valor exacto y mas facil de agregar a cualquier background, he tratado de hacerlo pero aun soy muy novato en gml y no he memorizado mas de 5 o 6 funciones. Si tu o alguien mas podria hacer eso por mi se lo agradeceria mucho.

Saludos!!  :)