Comunidad Game Maker

Ayuda => Preguntas y respuestas => Mensaje iniciado por: Mgbu en Noviembre 05, 2011, 05:41:42 PM

Título: Saber en que view esta el mouse
Publicado por: Mgbu en Noviembre 05, 2011, 05:41:42 PM
Lo que quiero saber es si el mouse esta en una view, porque tengo un minimapa que es una view chiquita y es molesto cuando se esta apuntando en ella

Quiero hacer invisible la view cuando quiero, eso me sale pero no cuando el mouse esta en el minimapa

Por las dudas el gmk, el objeto que controla eso se llama minimapa_score y esta en Misc
Título: Re: Saber en que view esta el mouse
Publicado por: knd144 en Noviembre 06, 2011, 12:12:13 AM
Pues checa si las coordenadas del mouse est?n dentro del rango del n?mero de la view, me refiero:

[gml]
//para checar si est? dentro de la view[8]
if(mouse_x>view_xview[8] & mouse_x<=view_xvew[8]+view_wview[8] & y>view_yview[8] & y<view_yview[8]+view_hview[8])
{
  //cosa a hacer cuando est? dentro de la view[8]
}
[/gml]
Si quieres checar que No est? dentro de la view[8] solo niega el if:

[gml]
if!(mouse_x>view_xview[8] & mouse_x<=view_xvew[8]+view_wview[8] & y>view_yview[8] & y<view_yview[8]+view_hview[8])
{
  //cosa a hacer cuando no est? en la view[8]
}
[/gml]
Título: Re: Saber en que view esta el mouse
Publicado por: Mgbu en Noviembre 06, 2011, 01:31:18 AM
No va, es porque el minimapa cubre el mismo rango que la view principal, por eso el mouse va a estar siempre visible en la view  :(
Título: Re: Saber en que view esta el mouse
Publicado por: Wadk en Noviembre 06, 2011, 07:27:38 PM
Mgbu, est?s incumpliendo una regla con este tema. Te dejo unos d?as para que lo arregles.
knd144, no respondas temas que incumplan las reglas.
Título: Re: Saber en que view esta el mouse
Publicado por: Mgbu en Noviembre 07, 2011, 11:00:26 AM
ups, que regla? :(

Ahhhh, era el icono  :-[
Ahora todo legal  8)
Título: Re: Saber en que view esta el mouse
Publicado por: elviskelley en Noviembre 07, 2011, 02:55:41 PM
Oye por favor explicate mejor que no comprend? lo que dices? ni lo que quieres. No digas como lo haces, di simplemente que quieres lograr, y veremos en que ayudarte.
Título: Re: Saber en que view esta el mouse
Publicado por: Mgbu en Noviembre 07, 2011, 04:30:07 PM
Siempre me olvido de cambiar el icono  :-[

El problema es que el mouse "entra" a la otra view y como las views tienen el mismo rango, es decir muestran toda la room, no se puede usar el metodo de knd144.

Subi el video a Youtube para que veas si entendes: http://www.youtube.com/watch?v=XiARO4OOUmw (Estaba escuchando coldplay  XD)
Título: Re: Saber en que view esta el mouse
Publicado por: elviskelley en Noviembre 08, 2011, 03:18:51 AM
creo que este post tiene la respuesta solo debes adactarlo.
http://www.comunidadgm.org/index.php?topic=10292.0
Título: Re: Saber en que view esta el mouse
Publicado por: Wadk en Noviembre 08, 2011, 03:47:23 AM
[gml]// is_mouse_in_view(x)
var v, mx, my;
v = argument0;
mx = window_mouse_get_x();
my = window_mouse_get_y();

return (mx >= view_xport[v] && mx < view_xport[v] + view_wport[v] &&
         my >= view_yport[v] && my < view_yport[v] + view_hport[v]);[/gml]
Es un script. Ponele el nombre is_mouse_in_view, y despu?s lo pod?s usar as?:
[gml]if (is_mouse_in_view(8)) {
     draw_text(20, 20, "Mouse en la view 8.");
}[/gml]

No est? probado.
Título: Re: Saber en que view esta el mouse
Publicado por: Mgbu en Noviembre 08, 2011, 05:32:21 PM
No me sale :(, soy nuevo en scripts

// is_mouse_in_view(x)
var v, mx, my;
v = argument0;
mx = window_mouse_get_x();
my = window_mouse_get_y();

return (mx >= view_xport[v] && mx < view_xport[v] + view_wport[v] &&
         my >= view_yport[v] && my < view_yport[v] + view_hport[v]);

Esto va en un script nuevo

if (is_mouse_in_view(8)) {
     draw_text(20, 20, "Mouse en la view 8.");
}

Y esto va en un step, el problema es que la view es 1 entonces en vez de ese 8 va 1 no?
Pero igual no funciona
Título: Re: Saber en que view esta el mouse
Publicado por: Zeit en Noviembre 08, 2011, 07:17:18 PM
Hola, usa mouse_x en lugar de window_mouse_get_x(), pues la primera obtiene la coordenada x en el room que es donde se posicionan las views y la segunda en la ventan que es donde se dibujan las viwes, lo mismo para la coordenada y. Saludos.
Título: Re: Saber en que view esta el mouse
Publicado por: Wadk en Noviembre 09, 2011, 05:02:05 PM
Cita de: Zeit en Noviembre 08, 2011, 07:17:18 PM
Hola, usa mouse_x en lugar de window_mouse_get_x(), pues la primera obtiene la coordenada x en el room que es donde se posicionan las views y la segunda en la ventan que es donde se dibujan las viwes, lo mismo para la coordenada y. Saludos.
Es que la idea es saber si el mouse est? donde se dibuja la view.

Cita de: Mgbu en Noviembre 08, 2011, 05:32:21 PM
if (is_mouse_in_view(8)) {
     draw_text(20, 20, "Mouse en la view 8.");
}

Y esto va en un step, el problema es que la view es 1 entonces en vez de ese 8 va 1 no?
S?, ser?a as?:
[gml]if (is_mouse_in_view(1)) {
    draw_text(20, 20, "Mouse en la view 1.");
}[/gml]
Cita de: Mgbu en Noviembre 08, 2011, 05:32:21 PM
Pero igual no funciona
Nunca digas que no funciona sin explicar detalladamente por qu?.
Título: Re: Saber en que view esta el mouse
Publicado por: Mgbu en Noviembre 10, 2011, 10:18:54 PM
Ahi pude  :), gracias a vos ahora salio el T2 1.0.1  XD

No se porque pero tuve que miltiplicar por 2 las coordenadas, luego les reste o sume para hacer que se esconda cuando quiero pero funciona

El script quedo:
var v, mx, my;
v = argument0;
mx = window_mouse_get_x();
my = window_mouse_get_y();

return (mx >= view_xport[v]*2 -6 && mx < view_xport[v]*2 + view_wport[v]*2 + 5 &&
         my >= view_yport[v]*2 +37 && my < view_yport[v]*2 + view_hport[v]*2 +37);


Cita de: Wadk en Noviembre 09, 2011, 05:02:05 PM
Cita de: Mgbu en Noviembre 08, 2011, 05:32:21 PM
Pero igual no funciona
Nunca digas que no funciona sin explicar detalladamente por qu?.
Perdon :-[, directamente no lo tomaba porque usaba unas coordenadas corridas :)