Agosto 26, 2015, 10:09:03 AM Ultima modificación: Agosto 26, 2015, 06:39:44 PM por djboro88
Hola GAMEMAKER@S !!

Imaginemos que el juego está ejecutandose en una tablet...
Tengo una room muy grande, ¿Como se podría conseguir el moverte por la room libremente arrastrando el dedo?

He encontrado este codigo en el foro.
Pero no funciona de ninguna manera.

if (mouse_check_button_pressed(mb_left)) {
    drag_x = device_mouse_raw_x(0);
    drag_y = device_mouse_raw_y(0);
}
if (mouse_check_button(mb_left)) {
    // actual dragging logic:
    view_xview += (drag_x - device_mouse_raw_x(0))*2;
    view_yview += (drag_y - device_mouse_raw_y(0))*2;
    drag_x = device_mouse_raw_x(0);
    drag_y = device_mouse_raw_y(0);
    // make sure view doesn't go outside the room:
    view_xview = max(0, min(view_xview, room_width - view_wview));
    view_yview = max(0, min(view_yview, room_height - view_hview));
}


Ayuda porfavor...

Solucionado.

En el evento STEP el codigo.
Y "Enable the use of views"

Y a funcionar !!

Cita de: djboro88 en Agosto 26, 2015, 06:39:30 PM
Solucionado.

En el evento STEP el codigo.
Y "Enable the use of views"

Y a funcionar !!

¿Estás seguro de que funciona? Probé el código y si bien hay un desplazamiento de la view, éste no es igual a lo que se desplaza el dedo/mouse. Entiendo que la idea es que si arrastras 100 pixeles el dedo/mouse, la view se mueva los mismos 100 pixeles y no otra cantidad. Encontré un código que sí hace eso (http://gmc.yoyogames.com/index.php?showtopic=584295):

Create:
xPreviousMouse= window_mouse_get_x();
yPreviousMouse= window_mouse_get_y();


Step:
var mx = window_mouse_get_x() * (view_wview[0] / view_wport[0]);
var my = window_mouse_get_y() * (view_hview[0] / view_hport[0]);
if (mouse_check_button(mb_left)) {
  view_xview[0] = clamp(view_xview[0] + (xPreviousMouse - mx), 0, room_width - view_wview[0]);
  view_yview[0] = clamp(view_yview[0] + (yPreviousMouse - my), 0, room_height - view_hview[0]);
}
xPreviousMouse = mx;
yPreviousMouse = my;


Esto sí mueve el view la misma cantidad de pixeles que se arrastra el dedo/view. Compara ambos para que veas cuál te sirve más.