|    
			
				23/02/2009, 11:39
			
			
			  | 
  |   |  |  |  Fecha de Ingreso: diciembre-2007 
						Mensajes: 140
					 Antigüedad: 17 años, 10 meses Puntos: 0 |  | 
  |  ayuda, listeners y teclado  
  Hola, tengo que hacer una aplicación, que tiene que funcionar tanto por teclado, como por ratón.Es un .fla dividido en distintos fotogramas y cada uno de estos fotogramas tiene un nº diferente de botones. La cuestión es que con las mismas funciones quiero que me funcionen todas las pantallas y sus respectivos botones. Con el ratón no hay problema, el problema me surge con el teclado:
 En el primer fotograma, las teclas funcionan bien pasa de un boton al siguiente con las flechas y cuando le doy al intro va al fotograma que tiene que ir, el problema es que desde el segundo fotograma vuelvo al primero con las flechas y la tecla intro, pero los botones al darle a la flecha me los salta de dos en dos. Os pongo el código:
 FOTOGRAMA1: TIENE 6 BOTONES, UNO VA AL FOTOGRAMA2
 ////////////////////////////////////////
 //p1 MENÚ PRINCIPAL********************
 /////////////////////////////////////////
 stop()
 //VARIABLES
 but=new Array("",but1,but2,but3,but4,but5,but6)//array que contiene todos los botones de pantalla
 tot_but=but.length-1//máximo de botones en esta pantalla
 sel=0//boton seleccionado
 pantalla="p1"
 
 //**************************************
 ////////////////////////////////////////
 //FUNCIONAMIENTO MEDIANTE EL RATÓN Y PANTALLA TÁCTIL, ACCESO A PANTALLAS
 {
 for(a=1;a<=tot_but+1;a++){
 eval("but"+a).onRollOver=function(){
 this.gotoAndStop(2)
 }
 eval("but"+a).onRollOut=function(){
 this.gotoAndStop(1)
 }
 }
 }
 
 //****************************************
 but1.onPress=function(){
 trace("repetir audio actual")
 }
 but2.onPress=function(){
 gotoAndStop("p6")
 }
 but3.onPress=function(){
 gotoAndStop("p2")
 }
 but4.onPress=function(){
 gotoAndStop("p3")
 }
 but5.onPress=function(){
 gotoAndStop("p4")
 }
 but6.onPress=function(){
 gotoAndStop("p5")
 }
 ////////////////////////////////////////
 //FUNCIONAMIENTO MEDIANTE LAS FLECHAS DEL TECLADO Y DE LA TECLA ENTER ACCESO A PANTALLAS
 
 {
 var detectortecla:Object = new Object();
 detectortecla.onKeyDown = function() {
 switch (Key.getCode()) {
 case Key.LEFT :
 key_left()
 break;
 case Key.RIGHT :
 key_right()
 break;
 case Key.ENTER:
 key_enter()
 break;
 
 }
 };
 Key.addListener(detectortecla);
 }
 //funcion para poner los botones en el primer estado
 function estado_inicial(){
 for(a=0;a<=tot_but;a++){
 eval(but[a]).gotoAndStop(1)
 }
 }
 //operaciones a realizar al pulsar la tecla derecha
 function key_right(){
 estado_inicial()
 if(sel<tot_but){sel +=1}
 eval(but[sel]).gotoAndStop(2)
 }
 //operaciones a realizar al pulsar la tecla izquierda
 function key_left(){
 estado_inicial()
 if(sel>1){sel -=1}
 eval(but[sel]).gotoAndStop(2)
 }
 //operaciones a realizar al pulsar la tecla enter
 function key_enter(){
 switch (sel) {
 case 1 :
 trace("vuelve a sonar el audio")
 break;
 case 2 :
 gotoAndStop("p6")
 break;
 case 3 :
 if (pantalla=="p1"){
 gotoAndStop("p2")
 }else{
 gotoAndStop("p1")
 }
 break;
 case 4 :
 gotoAndStop("p3")
 break;
 case 5 :
 gotoAndStop("p4")
 break;
 case 6 :
 gotoAndStop("p5")
 break;
 }
 }
 /////////////////////////////////////////////
 FOTOGRAMA2 (TIENE TRES BOTONES, UNO VUELVE AL FOTOGRAMA1)
 ////////////////////////////////////////
 //p2 INTRODUCIR CITA MÉDICA**************
 /////////////////////////////////////////
 stop()
 ////////////////////////////////////////
 
 //VARIABLES
 but=new Array("",but1,but2,but3)//array que contiene todos los botones de pantalla
 tot_but=but.length-1//máximo de botones en esta pantalla
 sel=0//boton seleccionado
 pantalla="p2"
 
 //**************************************
 ////////////////////////////////////////
 //FUNCIONAMIENTO MEDIANTE EL RATÓN Y PANTALLA TÁCTIL, ACCESO A PANTALLAS
 {
 for(a=1;a<=tot_but+1;a++){
 eval("but"+a).onRollOver=function(){
 this.gotoAndStop(2)
 }
 eval("but"+a).onRollOut=function(){
 this.gotoAndStop(1)
 }
 }
 }
 
 //****************************************
 but1.onPress=function(){
 trace("repetir audio actual")
 }
 but2.onPress=function(){
 gotoAndStop("p6")
 }
 but3.onPress=function(){
 gotoAndStop("p1")
 }
     |