Comunidad Game Maker

Ayuda => Preguntas y respuestas => Mensaje iniciado por: djboro88 en Abril 12, 2016, 08:14:28 PM

Título: Tiembla al hacer zoom con los dedos, uso views
Publicado por: djboro88 en Abril 12, 2016, 08:14:28 PM
Hola GAMEMAKEROS !!

Estoy siguiendo los pasos de aquí:
http://www.comunidadgm.org/preguntas-y-respuestas/hacer-zoom-a-una-view-con-los-dedos/msg124722/?topicseen#msg124722

Pero al hacer zoom, sigue dando como pequeños rebotes.
¿Existe la forma de poder hacer y que no rebote la imágen?

Saludos !!
Título: Re:Tiembla al hacer zoom con los dedos, uso views
Publicado por: Clamud en Abril 12, 2016, 08:44:38 PM
Me parece que el problema es que se revisan las coordenadas del device_mouse en el room, que a su vez dependen del tamaño de la vista, entonces se hace un ciclo que altera el cambio verdadero de coordenadas. Lo mejor sería leer las coordenas en la pantalla, con las funciones
[gml]
device_mouse_x_to_gui
device_mouse_y_to_gui
[/gml]
o
[gml]
device_mouse_raw_x
device_mouse_raw_y
[/gml]
Título: Re:Tiembla al hacer zoom con los dedos, uso views
Publicado por: djboro88 en Abril 12, 2016, 08:48:03 PM
Pero... ¿en que parte del codigo lo cambio?

Partiendo de lo siguiente:
var view_ratio;
view_ratio = view_hview[0]/view_wview[0];

if( device_mouse_check_button_pressed( 1, mb_left ) )
{
    initial_zoom =
    point_distance
    (
        device_mouse_raw_x( 0 ), device_mouse_raw_y( 0 ),
        device_mouse_raw_x( 1 ), device_mouse_raw_y( 1 )
    )*view_scale;
};

if( device_mouse_check_button( 1, mb_left ) )
{
    view_scale = initial_zoom/
    point_distance
    (
        device_mouse_raw_x( 0 ), device_mouse_raw_y( 0 ),
        device_mouse_raw_x( 1 ), device_mouse_raw_y( 1 )
    );
    view_wview[0] = initial_w_view*view_scale;
    view_hview[0] = view_wview[0]*view_ratio;
    if(touched = true){
    view_xview[0] += initial_x-mean( device_mouse_raw_x( 0 ), device_mouse_raw_x( 1 ) );
    view_yview[0] += initial_y-mean( device_mouse_raw_y( 0 ), device_mouse_raw_y( 1 ) );
    }
};

if(device_mouse_check_button(1, mb_left)){
    initial_x = mean(device_mouse_raw_x(0), device_mouse_raw_x(1));
    initial_y = mean(device_mouse_raw_y(0), device_mouse_raw_y(1));
    touched = true;
}else{
    touched = false;
}
Título: Re:Tiembla al hacer zoom con los dedos, uso views
Publicado por: Clamud en Abril 12, 2016, 08:52:57 PM
Lo voy a revisar con calma, yo también quiero implementar ese funcionamiento, espero no tardar más de dos días :P
Título: Re:Tiembla al hacer zoom con los dedos, uso views
Publicado por: djboro88 en Abril 12, 2016, 08:58:31 PM
Mientras el Sr. Clamud, piensa el funcionamiento.
Haber si alguien puede dar un rayo de luz al tema.  :-[
Título: Re:Tiembla al hacer zoom con los dedos, uso views
Publicado por: Tovidi en Abril 13, 2016, 09:47:45 PM
Hola en el market hay un unos script gratuitos que funcionan a las mil maravillas y son muy configurables
Título: Re:Tiembla al hacer zoom con los dedos, uso views
Publicado por: djboro88 en Abril 14, 2016, 09:47:52 AM
¿Podrías dar algún ejemplo? O bien alguna que ya hayas usado.
De todas formas haber si Clamud, saca el porque del temblor.
Título: Re:Tiembla al hacer zoom con los dedos, uso views
Publicado por: josesito1432 en Abril 14, 2016, 10:16:30 PM
hola ya tombien implemente esos codigos y tambien tiembla jajjaa, los de store de game maker no los puedo bajar por que dice que necesito modulo o algo asi, como si no tengo comprado el modulo de android .. -_- tengo varias cuentas
Título: Re:Tiembla al hacer zoom con los dedos, uso views
Publicado por: djboro88 en Abril 14, 2016, 11:41:42 PM
He encontrado esta demo la marketplace.
https://marketplace.yoyogames.com/assets/3505/simple-pinch-and-pan
Título: Re:Tiembla al hacer zoom con los dedos, uso views
Publicado por: Mataca en Abril 20, 2016, 04:09:52 AM
Cita de: Clamud en Abril 12, 2016, 08:44:38 PM
Me parece que el problema es que se revisan las coordenadas del device_mouse en el room, que a su vez dependen del tamaño de la vista, entonces se hace un ciclo que altera el cambio verdadero de coordenadas. Lo mejor sería leer las coordenas en la pantalla, con las funciones
[gml]
device_mouse_x_to_gui
device_mouse_y_to_gui
[/gml]
o
[gml]
device_mouse_raw_x
device_mouse_raw_y
[/gml]

Yo tengo el mismo problema con un swipe en un juego. Cuando muevo con el dedo que previamente le hice zoom desde un botón, se mueve tembloroso. Cómo podría aplicar lo que dices a mi swipe?
El swipe saque creo que de este foro y lo tengo asi:

Evento Create:
drag_x = device_mouse_raw_x(0);
drag_y = device_mouse_raw_y(0);


Evento Step
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)) {
    view_xview[1] += (drag_x - device_mouse_raw_x(0))*1;
    view_yview[1] += (drag_y - device_mouse_raw_y(0))*1;
    view_xview[2] += (drag_x - device_mouse_raw_x(0))*1;
    view_yview[2] += (drag_y - device_mouse_raw_y(0))*1;
    drag_x = device_mouse_raw_x(0);
    drag_y = device_mouse_raw_y(0);
}


Hace mil años tengo este problema y nunca pude solucionarlo.
Título: Re:Tiembla al hacer zoom con los dedos, uso views
Publicado por: djboro88 en Abril 20, 2016, 05:43:27 PM
Perdonar mi ignarancia, pero ¿que es un swipe?  XD
Título: Re:Tiembla al hacer zoom con los dedos, uso views
Publicado por: zorge en Abril 20, 2016, 05:47:15 PM
Es un barrido, como cuando arrastras con el dedo en un dispositivo móvil una ventana de juego y pasa a la siguiente.
Título: Re:Tiembla al hacer zoom con los dedos, uso views
Publicado por: Mataca en Abril 20, 2016, 11:22:52 PM
Cita de: djboro88 en Abril 20, 2016, 05:43:27 PM
Perdonar mi ignarancia, pero ¿que es un swipe?  XD

Es como en el clash of clans que moves el mapa con el dedo.
Título: Re:Tiembla al hacer zoom con los dedos, uso views
Publicado por: djboro88 en Abril 21, 2016, 11:02:37 AM
Aah !!  ;)
Vale de acuerdo, yo a eso lo llamo: mover view con dedo  XD
A partir de hoy le dire swipe.

El problema que se nos plantea en el post, no es el swipe, ya que esa parte la tengo ya implementada, sino el tema de hacer zoom al pellizcar la pantalla. Simplemente, lo hace bien, pero tiembla al aumentar o disminuir.

¿Alguien sabria como solucionar dicha molestia?
Título: Re:Tiembla al hacer zoom con los dedos, uso views
Publicado por: djboro88 en Abril 27, 2016, 10:59:42 AM
Creo que Clamud a desistido en el intento de solcuionar el tiemble.  XD
¿Alguna idea para que no tiemble al hacer zoom?