Comunidad de diseño web y desarrollo en internet online

Ayuda para mover un MC con el puntero del mouse

Citar            
MensajeEscrito el 11 Oct 2006 01:21 pm
Hola a todos:
Estoy buscando en el buscador del foro pero no encuentro lo que busco, y la falta tiempo me esta comiendo los nervios :shock: .
Necesito hacer un menu en el que se pueda mover hacia arriba y hacia abajo dependiendo de donde movamos el puntero del mouse. Es decir, si movemos hacia abajo el menu se movera hacia arriba. Obviamente solo ocurre cuando pasamos solo por encima de la zona que cubre el clip.

En este sitio: www.f1play.com hay una prueba clara de lo que les digo. Este sitio lo publicaron aqui, en Cristalab. El menu esta ubicado a la derecha.

Ya tengo el menu hecho, esta dentro de un clip que es el que quiero mover....pero no hay caso, no quiere :cry:

Les agradezco todo tipo de ayuda.....

STARLANCER :wink:

Por starlancer

59 de clabLevel



 

firefox
Citar            
MensajeEscrito el 11 Oct 2006 02:09 pm
Explicarlo así, sin mostrar un ejemplo, es bastante difícil :crap: , pero voy a intentar ayudarte.

Lo primero es entender como funciona _ymouse, que, básicamente, devuelve la posición del mouse en la pantalla. Un ejemplo sería:

Código :

miVariable = ymouse;
trace (miVariable);



Lo que nos devuelve la posición del mouse. Ahora, vos lo que necesitás es la posición del mouse dentro del menú. Eso se hace con un clip (el menú) al que le damos un nombre, supongamos, menu_mc.

Para ver la posición del mouse tomando como 0 la esquina superior izquierda del clip.


Código :

miVariable = menu_mc._ymouse;
trace (miVariable);



Luego, dentro del clip al que llamamos "menu_mc" ponemos otro, que podríamos llamar "contenedor" ya que es en ese clip que ubicaremos los botones. Entonces, una vez ubicados los botones, proseguimos con el siguiente código:

Código :

onMouseMove = function () {
//
posYmouse = menu_mc._ymouse;
menu_mc.contenedor._y = -posYmouse * (menu_mc.contenedor._height - menu_mc._height) ;
//
updateAfterEvent ();
};



El código, lógicamente, está ubicado en los fotogramas.

Si no funciona (si, lo escribí en el aire y, aunque creo que está bien, me pude haber equivocado en algo :P ), decime y veo qué hice mal.

Por HernanRivas

Claber

3416 de clabLevel

26 tutoriales

 

Argentina

msie
Citar            
MensajeEscrito el 12 Oct 2006 02:12 am
Fijate que el ejemplo esta en la pagina que puse antes, en www.f1play.com.
Te agradezco la explicacion y felicitaciones por la claridadl :wink:

Ya mismo empiezo a probar, espero que funcione...

Gracias

STARLANCER :D

Por starlancer

59 de clabLevel



 

firefox
Citar            
MensajeEscrito el 12 Oct 2006 03:28 am
mirate si esto , te sirve

http://www.cristalab.com/ejemplos/99/scroll-de-imagen-por-movimiento-de-mouse

Por FeNtO

BOFH

5091 de clabLevel

18 tutoriales

1 ejemplo

  Bastard Operators From Hell

FeNtO DataCenter

firefox
Citar            
MensajeEscrito el 12 Oct 2006 02:08 pm

Código :

onEnterFrame=function(){
   main_mc.posy=Stage.height-_ymouse;
   main_mc.posx=Stage.width-_xmouse;
   
   
   // Stage ==>  area del escenario
}

prueba con este codigo y ahi trata de controlarlo añadiendo o restando valores man....

epsero aherte ayudado....
saludos useraul

debes usar las etiquetas code para postear tu codigo

Por useraul

Claber

131 de clabLevel



Genero:Masculino  

Huantalandia

msie
Citar            
MensajeEscrito el 14 Oct 2006 02:28 am
Gracias a todos por ayudarme.....claro que sirve, todo sirve.

Cuando quiero controlar el movimiento del mouse solamente en el area del clip, ¿es con "hitTest", no?

Por starlancer

59 de clabLevel



 

firefox
Citar            
MensajeEscrito el 14 Oct 2006 02:34 am
Exactamente ^^

Código :

if (objeto.hitTest (_xmouse, _ymouse, true) {
trace ("hay colisión");
}



Obviamente, le cambias objeto por el nombre de instancia que estés usando.

Si programas dentro de los MovieClips U_U usas _root. antes del _xmouse y el _ymouse y cambiás el nombre de instancia por this.


:wink:

Por HernanRivas

Claber

3416 de clabLevel

26 tutoriales

 

Argentina

msie
Citar            
MensajeEscrito el 14 Oct 2006 11:48 am

starlancer escribió:

Gracias a todos por ayudarme.....claro que sirve, todo sirve.

Cuando quiero controlar el movimiento del mouse solamente en el area del clip, ¿es con "hitTest", no?

No. Es mucho más cómodo usar los eventos onRollOver y onRollOut.

Código :

tuMc.onRollOver=function(){
tuMc.onEnterFrame=function(){
//Las Acciones que sean de tu menu
}
}
tuMc.onRollOut=function(){
tuMc.onEnterFrame=null;
}

Por Zah

BOFH

4290 de clabLevel

27 tutoriales
5 articulos

  Bastard Operators From Hell Editores

Zaragoza, España

firefox
Citar            
MensajeEscrito el 20 Oct 2006 01:36 pm
No me funciona..... :cry:
Los valores de posYmouse me salen, significa que el calculo esta. Pero no logro mover el clip con los botones.
Aprovecho para una pregunta mas, el hecho que la cantidad de botones los extraiga de un xml, ¿influye?. Porque a mas cantidad de opciones, el clip sera mas alto. O sea, ¿como puedo saber la medida del clip?

Por starlancer

59 de clabLevel



 

firefox
Citar            
MensajeEscrito el 20 Oct 2006 01:39 pm
Simple, multiplicás el alto del botón por el número de botones para obtener el alto total.


Es obvio!!

Por HernanRivas

Claber

3416 de clabLevel

26 tutoriales

 

Argentina

msie
Citar            
MensajeEscrito el 21 Oct 2006 02:18 am
Gracias, perdon por no haberme dado cuenta antes y desperdiciar un post :oops:

Por starlancer

59 de clabLevel



 

firefox
Citar            
MensajeEscrito el 22 Oct 2006 02:46 pm
No te culpo, pero tenés que pensar que eso pasa por copiar el código.
Te terminás volviendo dependiente de los otros.

Igual yo estoy casi seguro de que vos lo podrías haber hecho, el problema (problemón) es que casi sin pensar posteaste una pregunta que podrías haber respondido sólo.


No es que esté mal. Simplemente no es bueno depender tanto de las ayudas que te den, hay que intentar, intentar e intentar hasta que salga y acudir a los demás sólo cuando el obstáculo es insalvable.

Por vos mismo, no por los demás. A mi no me molesta contestar preguntas, pero a vos no te conviene pensar que no tenés que esforzarte para lograr algo.

Por HernanRivas

Claber

3416 de clabLevel

26 tutoriales

 

Argentina

msie
Citar            
MensajeEscrito el 21 Nov 2006 02:24 pm
Hernan, disculpa que te contradiga, pero no es como decis. Antes de preguntar intento por mi mismo hacer las cosas porque asi es como aprendo, a pesar de que es mas dificil. Lo poco que se de flash, lo aprendi solo entre libros, ayudas de flash y foros. No copie el codigo, porque conozco el foro y me engañaria a mi mismo el hecho de usar "copiar y pegar". No pregunte por "comodidad" sino que lo hice por necesidad. Si, se me "escapo" un error tonto, pero siempre me pasa y creo que nos pasa.

Espero no haber molestado, pero me parece fuera de lugar catalogarme de "comodo", cuando en realidad cuando posteo, lo hago porque realmente necesito de su ayuda. Para ustedes,quizas les parezca que estoy preguntando "tonterias", pero para mi no lo son.

Repìto, cuando posteo es porque no tengo otra opcion, o mejor dicho, porque no se me ocurre otra cosa.

Perdon por postear esto, pero recien hoy me encontre con esto, y debo confesarles con todos mis respetos que no me agrado que me catalogaran de "comodo", porque no lo soy, ni tampoco dependo de los demas.

Muchas gracias.

STARLANCER

Por starlancer

59 de clabLevel



 

firefox
Citar            
MensajeEscrito el 21 Nov 2006 09:51 pm
Mi intención no era ofenderte. En lo más mínimo. Ni siquiera te llamé cómodo, simplemente dije que estaba seguro de que podías hacerlo solo y que si no te habías dado cuenta era por el copy-paste (al menos, eso creía yo).


De todos modos, lamento y me disculpo por haber sido tan duro.

Por HernanRivas

Claber

3416 de clabLevel

26 tutoriales

 

Argentina

msie
Citar            
MensajeEscrito el 22 Nov 2006 08:55 pm
Acepto las disculpas.

STARLANCER

Por starlancer

59 de clabLevel



 

firefox

 

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