Noviembre 05, 2011, 05:41:42 PM Ultima modificación: Noviembre 07, 2011, 11:02:44 AM por Mgbu
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
El Manual

- Ley de la gravitación selectiva: toda herramienta se caerá donde produzca el mayor daño.
- Si todo parece estar bien, es obvio que uno no encontró el problema
- Todo aquello que se corte a medida resultara ser demasiado corto.
- Todo archivo borrado era necesario, todo archivo conservado es inutil
- Cuando a usted se le ocurra la solución ideal, alguien habrá resuelto ya el problema.

                                                               Murphy


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  :(
El Manual

- Ley de la gravitación selectiva: toda herramienta se caerá donde produzca el mayor daño.
- Si todo parece estar bien, es obvio que uno no encontró el problema
- Todo aquello que se corte a medida resultara ser demasiado corto.
- Todo archivo borrado era necesario, todo archivo conservado es inutil
- Cuando a usted se le ocurra la solución ideal, alguien habrá resuelto ya el problema.

                                                               Murphy


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.
Vim.

#4 Noviembre 07, 2011, 11:00:26 AM Ultima modificación: Noviembre 07, 2011, 11:05:19 AM por Mgbu
ups, que regla? :(

Ahhhh, era el icono  :-[
Ahora todo legal  8)
El Manual

- Ley de la gravitación selectiva: toda herramienta se caerá donde produzca el mayor daño.
- Si todo parece estar bien, es obvio que uno no encontró el problema
- Todo aquello que se corte a medida resultara ser demasiado corto.
- Todo archivo borrado era necesario, todo archivo conservado es inutil
- Cuando a usted se le ocurra la solución ideal, alguien habrá resuelto ya el problema.

                                                               Murphy


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)
El Manual

- Ley de la gravitación selectiva: toda herramienta se caerá donde produzca el mayor daño.
- Si todo parece estar bien, es obvio que uno no encontró el problema
- Todo aquello que se corte a medida resultara ser demasiado corto.
- Todo archivo borrado era necesario, todo archivo conservado es inutil
- Cuando a usted se le ocurra la solución ideal, alguien habrá resuelto ya el problema.

                                                               Murphy



[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.
Vim.

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
El Manual

- Ley de la gravitación selectiva: toda herramienta se caerá donde produzca el mayor daño.
- Si todo parece estar bien, es obvio que uno no encontró el problema
- Todo aquello que se corte a medida resultara ser demasiado corto.
- Todo archivo borrado era necesario, todo archivo conservado es inutil
- Cuando a usted se le ocurra la solución ideal, alguien habrá resuelto ya el problema.

                                                               Murphy


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.
Saludos Cordiales!!!

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?.
Vim.

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 :)
El Manual

- Ley de la gravitación selectiva: toda herramienta se caerá donde produzca el mayor daño.
- Si todo parece estar bien, es obvio que uno no encontró el problema
- Todo aquello que se corte a medida resultara ser demasiado corto.
- Todo archivo borrado era necesario, todo archivo conservado es inutil
- Cuando a usted se le ocurra la solución ideal, alguien habrá resuelto ya el problema.

                                                               Murphy