Comunidad de diseño web y desarrollo en internet online

navegar por menu en flash con el teclado

Citar            
MensajeEscrito el 05 Nov 2006 09:22 pm
Buenas estoy creando un menu con flash y no consigo desplazarme por las diferentes escenas y botones con el teclado, usando los cursores y el enter, solo me deja interactuar con el raton...hay alguna manera de moverse por el menu con el teclado??

Por carterbcn

3 de clabLevel



 

msie
Citar            
MensajeEscrito el 05 Nov 2006 09:49 pm
Si Asignando cada MovieClip a una tecla del teclado (Enter, al Teclado Numerico, Letras, ect..., las que tu quieras).

Por Suriv

131 de clabLevel



 

firefox
Citar            
MensajeEscrito el 05 Nov 2006 10:15 pm
Gracias por contestar suriv pero no es exactamente lo que busco, imagina el menu de un dvd por ejemplo, en una escena tienes diversos botones, acceso a escenas, extras, etc.. y si vas moviendo los cursores te desplazas por los botones bien sea de arriba hacia abajo o de izquierda a derecha( los botones muestran su estado "sobre" como si pasases por encima el cursor) y cuando estas sobre el que buscas lo activas con la tecla "enter".
Se que es complicado no se si se podra hacer con flash.

Por carterbcn

3 de clabLevel



 

msie
Citar            
MensajeEscrito el 06 Nov 2006 03:22 am
Enhorabuena, me encontraste sin ocupacion.
Hice el trabajo que necesitas. El fla esta Aca, y el swf:


Y voy a poner el código, para que lo implementes.
Primero, haz 6 movie clips. Crea en el frame 1 el estado normal, ye en el frame dos el estado "seleccionado". Ponles los nombres "clip1_mc", "clip2_mc", y asi.

Vamos a trabajar con "coordenadas" X y Y, para asi poder poner los iconos en cualquier parte, y dar libertad de movimiento. Asi, crewamos dos globales, cambiox y cambioy. Luego, creamos las acciones de tecla, en las cuales modificaremos los valores de las coordenadas. Y luego.... pues velo tu mismo:

Código :

//Defines las variables que cambiarán
_global.cambiosx = 0;
_global.cambiosy = 0;
_root.clip1_mc.gotoAndStop(2);
//Teclas y bla bla bla
myListener = new Object();
myListener.onKeyDown = function() {
   //Programamos los cambios en x
   if (Key.isDown(37)) {
      if (cambiosx != 0) {
         cambiosx--;
      }
   } else if (Key.isDown(39)) {
      if (cambiosx != 3) {
         cambiosx++;
      }
   } else if (Key.isDown(38)) {
      if (cambiosy != 0) {
         cambiosy--;
      }
   } else if (Key.isDown(40)) {
      if (cambiosy != 1) {
         cambiosy++;
      }
   } else if (Key.isDown(Key.SPACE)) {
      if (cambiosx == 0 && cambiosy == 0) {
         _root.texto_txt.text = "Seleccionaste el numero 1";
      } else if (cambiosx == 1 && cambiosy == 0) {
         _root.texto_txt.text = "Seleccionaste el numero 2";
      } else if (cambiosx == 2 && cambiosy == 0) {
         _root.texto_txt.text = "Seleccionaste el numero 3";
      } else if (cambiosx == 3 && cambiosy == 0) {
         _root.texto_txt.text = "Seleccionaste el numero 4";
      } else if (cambiosx == 3 && cambiosy == 1) {
         _root.texto_txt.text = "Seleccionaste el numero 6";
      } else if (cambiosx == 0 && cambiosy == 1) {
         _root.texto_txt.text = "Seleccionaste el numero 5";
      }
   }
};
myListener.onKeyUp = function() {
   trace(cambiosx);
   trace(cambiosy);
   _root.clip1_mc.gotoAndStop(1);
   _root.clip2_mc.gotoAndStop(1);
   _root.clip3_mc.gotoAndStop(1);
   _root.clip4_mc.gotoAndStop(1);
   _root.clip5_mc.gotoAndStop(1);
   _root.clip6_mc.gotoAndStop(1);
   //Cambios que higlightean
   if (cambiosx == 0 && cambiosy == 0) {
      _root.clip1_mc.gotoAndStop(2);
   } else if (cambiosx == 1 && cambiosy == 0) {
      _root.clip2_mc.gotoAndStop(2);
   } else if (cambiosx == 2 && cambiosy == 0) {
      _root.clip3_mc.gotoAndStop(2);
   } else if (cambiosx == 3 && cambiosy == 0) {
      _root.clip4_mc.gotoAndStop(2);
   } else if (cambiosx == 3 && cambiosy == 1) {
      _root.clip6_mc.gotoAndStop(2);
   } else if (cambiosx == 0 && cambiosy == 1) {
      _root.clip5_mc.gotoAndStop(2);
   }
   //Y para las coordenadas que faltan:
   if (cambiosx == 1 && cambiosy == 1) {
      cambiosx = 3;
      cambiosy = 1;
      _root.clip6_mc.gotoAndStop(2);
   }
   if (cambiosx == 2 && cambiosy == 1) {
      cambiosx = 0;
      cambiosy = 1;
      _root.clip5_mc.gotoAndStop(2);
   }
};
Key.addListener(myListener);


Si tienes algun problema adaptando el código, postea.

Saludos!

Por Lunatic Lycanthrop

Claber

1203 de clabLevel

7 tutoriales

1 ejemplo

Genero:Masculino  

The dark places where wolves access internet with 46,6 kbps

firefox
Citar            
MensajeEscrito el 06 Nov 2006 08:50 am
Impresionanteee!!! mas dejao sin palabras es exactamente lo que estaba buscando ahora mismo lo pondre en practica muchas gracias tio.
Un saludo!!

Por carterbcn

3 de clabLevel



 

msie
Citar            
MensajeEscrito el 06 Nov 2006 04:10 pm
Vaya me emocione demasiado pronto no lo consigo, el caso es k en mi escena hay 6 botones y estan uno debajo del otro, todos en linea, y cada uno accede a escena distinta, pues bien partiendo de tu codigo elimino la variable x, puesto que no hay desplazamiento lateral, pero soy muy novato en esto del codigo, trasteo en el tuyo y no hay manera.....

Por carterbcn

3 de clabLevel



 

msie
Citar            
MensajeEscrito el 06 Nov 2006 05:03 pm
Vale ya lo tengo!! una cosa mas.. si ademas quisieramos que la seleccion de botones pudiese hacerse tambien con el raton sera posible? las dos cosas a la vez? Gracias de nuevo..

Por carterbcn

3 de clabLevel



 

msie
Citar            
MensajeEscrito el 08 Nov 2006 09:26 am
Tengo un problema con el flash, el caso es que en la escena 1 todo bien, los botones obedecen al teclado y eso pero uno de estos botones accede a una escena que es igual en estructura a la primera( por lo tanto le meto el mismo codigo) y aqui los botones se descontrolan, a ver si alguien puede ayudarme por favor

Por carterbcn

3 de clabLevel



 

msie
Citar            
MensajeEscrito el 07 Jul 2009 04:05 am
hola amigo me interesa este ejemplo, pero una pregunta inserto el swf en una html cuando la subo al browser es necesario darle un click ensima para poder ponerlo a trabajar. hay alguna forma q no tenga que hacer el click , q solo suba la html y pueda utilizarlo rapido con el teclado

Por kama

2 de clabLevel



 

firefox

 

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