Me gustaria saber como imitar el Jetpack de Metal Slug, se puede apreciar desde el segundo numero 52 de este video https://www.youtube.com/watch?v=CbFdQTGId88, lo que quiero es que mi personaje este en constante movimiento por el background sin que se salga de los limites, he intentado poner barreras alrededor de la view que detengan que se salga de los limites pero no resulta. Y tambien algun codigo o manera para disparar en esas condiciones arribas mencionadas

¿Algun consejo?

Primero la vista se tiene que mover con una velocidad constante:
[gml]
//Evento Step
view_xview[0] += valor1;
view_yview[0] += valor2;
[/gml]
valor1 y valor2 deben ser mayores a 1, de lo contrario la vista no se moverá, esto es porque las variables de la vista se redondean automáticamente.
Si quieres que la vista tenga un movimiento más lento debes usar unas variables personalizadas:
[gml]
//Evento Step
x_vista += valor1;
y_vista += valor2;
view_xview[0] = x_vista;
view_yview[0] = y_vista;
[/gml]
El personaje debe tener el mismo desplazamiento de la vista, y para que no se salga, hay que revisar su posición relativa a la vista:
[gml]
{ /*código de movimiento del personaje*/ }

//desplazar como la vista
x += valor1;
y += valor2;

//revisar posicion
if( x < view_xview[0]+(anchura/2) ) x = anchura/2;
if( x > view_xview[0]+view_wview[0]-(anchura/2) ) x = view_wview[0]-(anchura/2);
if( y < view_yview[0]+(altura/2) ) y = altura/2;
if( y > view_yview[0]+view_hview[0]-(altura/2) ) x = view_hview[0]-(altura/2);
[/gml]
anchura y altura son las dimensiones de la máscara de colisión, y se dividen entre 2 porque se supone que está centrada en la posición de la instancia, esos valores debes escribirlos de forma explícita.

yo creo que que es mucho mas simple
si podes apreciar tiene un fondo repetitivo ose cuando sube al abion cambia de room, entonces lo unico que hace es entrar en otr arom chica podria decirse y lo unico que sucede es que el fonfo se mueve, luego baja y se peude apresiar la parte de abajo de la room, que sigue en mobimiento, en resumen lo unico que se muebe es el fondo, y luego van apareciendo los objetos...

y para que los enemigos parescan que estan moviendose o que son tragados por la pantalla al quedar atras, podes hacer que al creazrse se muevan hacia la izquierda que, o algoa asi,.

sino deverias hacer room demasiado largas, claramente tenes que prestar atencion,  que de tardar en destruir los enemigos que vienene por ronda, la room seria mas larga, si ves en el juego cada vez que amata a una ronde de enemigos viene otra, y asi, al llegar a un punto cabe en ese nivel por ejemplo despues de matar a los aviones, baja, y ahi empeiza de nuevo, pero presta atencion al fondo es totalmente repetitivo,... creo que me explico ajjaja bueno si te sirvio mi consejo avisame jajaa..

Cita de: Clamud en Marzo 16, 2016, 08:59:22 PM
Primero la vista se tiene que mover con una velocidad constante:
[gml]
//Evento Step
view_xview[0] += valor1;
view_yview[0] += valor2;
[/gml]
valor1 y valor2 deben ser mayores a 1, de lo contrario la vista no se moverá, esto es porque las variables de la vista se redondean automáticamente.
Si quieres que la vista tenga un movimiento más lento debes usar unas variables personalizadas:
[gml]
//Evento Step
x_vista += valor1;
y_vista += valor2;
view_xview[0] = x_vista;
view_yview[0] = y_vista;
[/gml]
El personaje debe tener el mismo desplazamiento de la vista, y para que no se salga, hay que revisar su posición relativa a la vista:
[gml]
{ /*código de movimiento del personaje*/ }

//desplazar como la vista
x += valor1;
y += valor2;

//revisar posicion
if( x < view_xview[0]+(anchura/2) ) x = anchura/2;
if( x > view_xview[0]+view_wview[0]-(anchura/2) ) x = view_wview[0]-(anchura/2);
if( y < view_yview[0]+(altura/2) ) y = altura/2;
if( y > view_yview[0]+view_hview[0]-(altura/2) ) x = view_hview[0]-(altura/2);
[/gml]
anchura y altura son las dimensiones de la máscara de colisión, y se dividen entre 2 porque se supone que está centrada en la posición de la instancia, esos valores debes escribirlos de forma explícita.

Muchas gracias me sirvio :D!