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
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]
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 :(
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.
ups, que regla? :(
Ahhhh, era el icono :-[
Ahora todo legal 8)
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.
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)
creo que este post tiene la respuesta solo debes adactarlo.
http://www.comunidadgm.org/index.php?topic=10292.0
[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.
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
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.
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?.
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 :)