Page 1 of 1

[MODULE] Mouse avanzado

PostPosted: Tue Oct 30, 2012 2:49 pm
by kozka
**nose si el post va aqui ,sino pues moverlo donde os apetezca


MOUSE AVANZADO 1.0
Se trata de una serie de funciones y procesos ,que consiguen imitar el comportamiento de un mouse en un escritorio normal
funciones como (click , double click, arrastrar , etc etc)

USOS
Se puede usar para cualquier evento que requiera del raton.

los tiempos de clic y doble clic y arrastrar se pueden cambiar con estas constantes
M_Tiempo_click=50;
M_Tiempo_doble_click=30;
M_Tiempo_arrastra=30;

La lista de funciones es:

***general

Mouse_Ambito(int idambito) //devuelve 1 si el raton esta en ese ambito
Mouse_Init //inicializa los procesos mouse
Mouse_in_Ambito //revisa los ambitos y se queda con el que tenga la z menor (proceso para mouse ini)
Mouse_click //proceso principal para el tratamiento de estados (proceso paramouse ini)
Crear_ambito(id_ven) //se crea un ambito para que mouse los revise puede ser el grafico desde el proceso desde el que se crea el ambito o una region que se muebe con el proceso que la creo


***boton left
Mouse_Puls_Left //si se pusla el boton left
Mouse_click_left //si se hace click en el boton left
Mouse_dobleclick_left //si se hace dobleclick en el boton left
Mouse_Arrastra_Left //si se esta arrastrando con el boton left
Mouse_Arrastra_Left_OFF //si justo a dejado de arrastrar con el boton left


***boton center
Mouse_Puls_center
Mouse_click_center
Mouse_dobleclick_center
Mouse_Arrastra_center
Mouse_Arrastra_center_OFF


***boton right
Mouse_Puls_right
Mouse_click_right
Mouse_dobleclick_right
Mouse_Arrastra_right
Mouse_Arrastra_right_OFF




[Ejemplo]
**en el ejemplo ahi un cuadrado rojo otro verde y otro azul
rojo es para el boton left
verde es para el boton center
azul es para el right
blanco esta dividido en 4 regiones y es un ejemplo de su uso

puedes probar todos los estados que se han creado con los 3 botones.

Re: [MODULE] Mouse avanzado

PostPosted: Tue Oct 30, 2012 3:34 pm
by TYCO
Un pequeño fallo... si haces "click" con el ratón sin estar encima del cuadrado y sin soltar (el "click") pasas sobre el cuadrado que corresponde... lo captura y se lo lleva, no debería ser así eso.

Otra cosa... la Z del ratón se ha llegado a poner por debajo de los cuadrados al mover y tal.

Re: [MODULE] Mouse avanzado

PostPosted: Tue Oct 30, 2012 3:40 pm
by kozka
lo de la z ya me he fijado pero bueno tengo que hacer unas cuantas mejorillas mas.

lo otro que dices de clik nose a que te refieres.

Re: [MODULE] Mouse avanzado

PostPosted: Tue Oct 30, 2012 5:11 pm
by kozka
*arreglado lo de el raton con la z

*añadido soporte para regiones , al crear los ambitos. ahi un 4 cuadrado blanco que tiene 4 regiones como ejemplo

*he puesto un poco mejor los ejemplos.

Re: [MODULE] Mouse avanzado

PostPosted: Tue Oct 30, 2012 9:41 pm
by TYCO
kozka wrote:lo otro que dices de clik nose a que te refieres.

Es un error muy común en casi todos los juegos que programamos... vamos aponer un caso concreto.... al hacer mouse.left donde no está el cuadrado rojo... si te acercas a él sin dejar de hacer mouse.left... le capturas y te lo llevas donde quieras. Esto es un error ya que cuando se hizo el mouse.left no estabas encima del cuadrado rojo.

Sucede con los tres cuadrados, pero para que se entienda mejor puse el caso con el cuadrado rojo.

Re: [MODULE] Mouse avanzado

PostPosted: Tue Oct 30, 2012 9:58 pm
by kozka
afer eso esta resuelto en el caso de que pinches en un cuadrado y al arrastrarlo no coja otro.

si estas pulsando en el vacio mantienes pulsado y te hacercas te pilla que esta arrastrando , lo arreglare tienes razon.