Comunidad de diseño web y desarrollo en internet online

Restringir zona por la que poder mover el ratón

Citar            
MensajeEscrito el 27 May 2009 02:16 pm
Wola! q tal todos x aki??
Traigo una nueva preguntilla que no se como plantear en mi proyecto...

La funcionalidad q pretendo conseguir es la siguiente: Tengo una aplicación q ocupa toda la pantalla, y un canvas (con forma de rectangulo 500x300) situado justo en el centro de la aplicación. Mi idea es la de pulsar un botón (situado en la aplicación) y que al clickarlo me coloque el puntero del raton dentro del Canvas del centro. A partir de ahí, quiero restringir el movimiento del ratón para que solo pueda moverse dentro del Canvas, prohibiéndole salir del mismo hasta que no haga click dentro del Canvas. Una vez se haga click en el canvas, todo volverá a la normalidad.

Bueno... He estado buscando información y parece ser que con ActionScript no se puede cambiar la posición del ratón manualmente, lo cual fastidia mucho mis planes...
La cuestión es la siguiente, ¿a alguien se le ocurre como hacer algo parecido a lo que propongo? No estoy muy enterada del funcionamiento de las máscaras en Flex, ¿me podrían servir de algo?

No sé si existirá solución para lo que pido, pero de no ser así, simplemente os pido ayuda en cuanto a las ideas de cómo poder simular un efecto parecido... Cualquier cosa que se os ocurra...

Muchisimas gracias!
Un saludo a todos!

Por Kárites

25 de clabLevel



 

msie8
Citar            
MensajeEscrito el 27 May 2009 02:26 pm
El mouse es una interrupcion y no se puede controlar por codigo, de hecho si te fijas ni siquiera sale en una impresion de pantalla por las mismas razones. Se me ocurre que tu detectes cuando deja tu Canvas y darle un Mouse.Hide(); y un Mouse.Show();(adivino no se si esta es la sintaxis de las funciones), en cuanto a mover el mouse podrias hacer un clip que siga al mouse y este clip si podrias moverlo mientras se esconde el mouse pero el mouse como tal no.

Por Angel Roberto

Claber

248 de clabLevel



 

firefox
Citar            
MensajeEscrito el 27 May 2009 02:29 pm
Efectivamente, tal y como dices NO se puede restringir el movimiento del Mouse. Se me ocurre que para simularlo puedes tener un MC (con la apariencia del cursor), luego, cuando se pinche el "canvas" escondes el ratón y añades un listener MouseEvent.MOUSE_MOVE. En ese evento haces que cambie la posición del MC según la posición del ratón (si quieres también teniendo en cuenta la posición del punto pulsado)

Por Eliseo2

710 de clabLevel



 

firefox
Citar            
MensajeEscrito el 27 May 2009 02:46 pm
Muchas gracias chicos!
Es lo que necesitaba, una guía de por dónde ir, y lo qué iba a necesitar. Voy a intentar hacer lo que me decis y lo que consiga lo publicaré por aquí.

gracias!!
Salu2!!

Por Kárites

25 de clabLevel



 

msie8
Citar            
MensajeEscrito el 28 May 2009 02:41 pm
Hola de nuevo!
Necesito otro pequeño empujoncin... Ya he hecho lo de sustituir el ratón por un Sprite con el mismo icono que el ratón original. Lo que ahora no se me ocurre es como restringir que ese Sprite no pueda salir del Canvas central, no sé qué eventos utilizar para conseguirlo.

espero puedan ayudarme..
gracias!

Por Kárites

25 de clabLevel



 

msie8
Citar            
MensajeEscrito el 28 May 2009 03:39 pm
Karites, tomemos la opción de Angel.
Cuando pulses el canvas añades un evento MOUSE_MOVE e igualas la posición del MC a la posición del ratón SIEMPRE que el ratón esté dentro del canvas. Para ello deberás usar el método hitTestPoint
Cuando se suelte el ratón elimina el listener del MOUSE_MOVE

tip: La función a la que llamamos con un evento del ratón, tiene un argumento (normalmente es del tipo:

Código ActionScript :

function onPress(e:MouseEvent){....}

e.localX y e.localY nos dá la posición del ratón

Por Eliseo2

710 de clabLevel



 

firefox

 

Cristalab BabyBlue v4 + V4 © 2011 Cristalab
Powered by ClabEngines v4, HTML5, love and ponies.