Comunidad Game Maker

Ayuda => Preguntas y respuestas => Mensaje iniciado por: DarkKRuleR en Marzo 29, 2011, 04:17:07 PM

Título: [Solucionado] Problemas con mouse enter y leave
Publicado por: DarkKRuleR en Marzo 29, 2011, 04:17:07 PM
Hay! Pues tengo un problema con el mouse enter y leave, y es b?sico que pueda arreglarlo xDD
La cosa es, que me funciona perfecto: en mouse enter, hago que el mouse, el cursor, cambie a otro sprite, y tambi?n cambio el valor de una variable a un texto que se dibujar? en pantalla. Cada objeto "cursoreable" dibuja un texto diferente cuando entra el cursor en ?l. En mouse leave, el cursor vuelve su sprite al inicial, y la variable se pone en blanco.

As?, al pasar el cursor por encima de un objeto que se pueda clicar o sea especial, el cursor se ilumina (cambio de sprite) y muestra un texto debajo del cursor, del tipo "Hablar con Bonifacio" o "Coger objeto". Cada objeto tiene su propio texto en mouse enter. El problem?n es cuando ese objeto se mueve.

El mouse enter y leave S?LO funcionan cuando es el cursor el que entra! Si es el objeto el que se mueve y colisiona con el cursor, estando ?ste quieto, el evento mouse enter no se activa y el cursor sigue normal sin texto. Y al contrario, si el objeto se mueve y se va del cursor sin yo mover ?ste, el cursor queda con el sprite de marcado y el texto. Es muy problem?tico >_< Y no s?lo objetos "cursoreables" que se muevan, seguro que si el objeto est? quieto pero muevo la view pasa igual. Pero qued?monos con los objetos que se mueven y no activan los eventos mouse enter y leave.

Hay otra soluci?n? Hay otra manera de checar cuando entra o sale?

He pensado en checar los mouse_x e y en funcion de la x del objeto y su sprite height o width, pero no funcionaria, ya que uno cancelar?a los otros...
Título: Re: Problemas con mouse enter y leave
Publicado por: LigTopet en Marzo 29, 2011, 05:18:17 PM
[gml]
if(position_meeting(mouse_x,mouse_y,id))
{
    //acciones mouse sobre
}
else
{
    //acciones mouse fuera
}
[/gml]
El manual compa?ero, el manual :)

Saludos
Título: Re: Problemas con mouse enter y leave
Publicado por: DarkKRuleR en Marzo 29, 2011, 06:21:32 PM
Gracias, no conoc?a posicion meeting xD
Pero piensa, que si hubiera dos o m?s objetos con ese c?digo, teniendo el cursor en un objeto, ?se no act?a porque los dem?s objetos lo cancelan al no tener el rat?n. Vamos, los objetos cancelan sus c?digos entre s? D: la manera ser?a checar el ENTER y LEAVE exacto, no si est? dentro o fuera... @_@
Título: Re: Problemas con mouse enter y leave
Publicado por: LigTopet en Marzo 29, 2011, 07:00:11 PM
No entendi exactamente a que te refieres con "cancelan sus codigos entre si".
Pero si te refieres a que no pasa nada esta raro.
Mira te dejo un ejemplo.

Saludos
Título: Re: Problemas con mouse enter y leave
Publicado por: DarkKRuleR en Marzo 29, 2011, 07:07:35 PM
S?, en ese caso funciona. Pero imag?nate que lo que haga no sea cambiar su propio imagen index, sino cambiar una variable de otro objeto, el controlador.

Al pasar por encima de... un objeto recogible, paso esa variable a "Recoger objeto". Y, si no est? encima, har?a esa variable a "". Entonces, yo paso por encima y hago la variable, pero, a la vez, hay muchos otros objetos los cuales no tienen el rat?n y vac?an la variable. Vamos, que si hay m?s de un objeto, uno cancela al otro y lo hace totalmente imposible. Y siempre habr? m?s de dos objetos... es por eso que no funciona...

EDIT: Ah espera! Si lo que hago es dibujar el texto desde cada propio objeto s?lo si su propia variable tiene valor, quizas funcione! Lo probar? y cuento si me funcion?.

Gracias por el position_meeting Topet, no sab?a como checar el mouse y hac?a cosas raras de checar la x+sprite_width/2 y dem?s xD
Título: Re: Problemas con mouse enter y leave
Publicado por: LigTopet en Marzo 29, 2011, 07:28:45 PM
Y yo que te habia hecho otro ejemplo XD.
Ahi lo dejo.
Los objetos modifican la variable del objeto o_control y este dibuja el valor (que segun entendi era lo que querias).

Saludos
Título: Re: [Solucionado] Problemas con mouse enter y leave
Publicado por: DarkKRuleR en Marzo 29, 2011, 09:49:18 PM
Genial, he aplicado el ejemplo y funciona genial! Checar que no haya el mouse en ning?n objeto con el parent, gran idea! Tuve que checar con "and" muchos objetos, pero genial, gracias! +1 karma (que ya te di antes xD)