Foros del Web » Creando para Internet » Flash y Actionscript »

capturar teclado

Estas en el tema de capturar teclado en el foro de Flash y Actionscript en Foros del Web. saludos, estoy intentando capturar las pulsaciones del teclado pero no lo logro el código que he generado es el siguiente Main Código: <?xml version="1.0" encoding="utf-8"?> ...
  #1 (permalink)  
Antiguo 05/08/2008, 05:36
 
Fecha de Ingreso: julio-2007
Mensajes: 239
Antigüedad: 17 años, 4 meses
Puntos: 2
capturar teclado

saludos,

estoy intentando capturar las pulsaciones del teclado pero no lo logro

el código que he generado es el siguiente

Main
Código:
<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute"		
	xmlns="pack_probando.*"
	creationComplete="inicia()" >
		
	<mx:Script>
        <![CDATA[  

            public function inicia():void
            {
                id_prueba.init();               
            }
		]]>
	</mx:Script>

  <MyPrueba id="id_prueba" width="300" height="300" />
</mx:Application>

pack_probando
Código:
package pack_probando{
	import MisClases.Captura_Teclado;	
        import mx.core.UIComponent;
	
	import mx.controls.Alert; 			
	

	public class MyPrueba extends UIComponent{		
		private var t:Captura_Teclado;
		
		//iniciamos
		public function init():void {		
			t=new Captura_Teclado(this);			
			
		}
		
   }
}


Misclases

Código:
package MisClases {
	import flash.events.*;
	import mx.core.*;
	import mx.controls.Alert; 			
	
	public class Captura_Teclado extends UIComponent {
		 public function Captura_Teclado(aParent:UIComponent) {
			  aParent.addEventListener(KeyboardEvent.KEY_DOWN, keyDown);
			  aParent.addEventListener(KeyboardEvent.KEY_UP, keyUp);
		 }

		 private function keyDown(event:KeyboardEvent):void {
		 	Alert.show("dejo de pulsar");
		 }

		 private function keyUp(event:KeyboardEvent):void {
		 	Alert.show("pulso "+event.keyCode.toString() );
                }
	}
}
¿alguien podría ayudarme?
  #2 (permalink)  
Antiguo 05/08/2008, 13:12
Avatar de jahepi
Colaborador
 
Fecha de Ingreso: diciembre-2004
Ubicación: Querétaro
Mensajes: 1.124
Antigüedad: 19 años, 11 meses
Puntos: 43
Respuesta: capturar teclado

Hola Pez_del_Web !

Lo que pasa es que debes de cambiar la propiedad focus del objeto stage por el componente que lanza los eventos del teclado, esta medio confuso lo que digo pero el código te lo explicará mejor:

Código PHP:
package {
    
    
import flash.events.*;    
    
import mx.core.UIComponent;        
    
    public class 
KeyDetector extends UIComponent {
         
         
         public function 
KeyDetector() {
            
graphics.beginFill(0xffffff);
             
graphics.drawRect(00300300);
             
graphics.endFill();
             
addEventListener(KeyboardEvent.KEY_DOWNkeyDown);
             
addEventListener(KeyboardEvent.KEY_UPkeyUp);
             
addEventListener(MouseEvent.CLICKonClick);
         }

         private function 
keyUp(evt:KeyboardEvent):void {
             
trace(evt.keyCode);
         }

         private function 
keyDown(evt:KeyboardEvent):void {
             
trace(evt.keyCode);
         }
         
         private function 
onClick(evt:MouseEvent):void {
             
stage.focus this;
         }
    }

Aquí la parte clave es la captura del evento CLICK para así cambiar la propiedad focus del objeto stage y de esa manera me notifique cuando los eventos del teclado sean lanzados.

Un saludote !
__________________
Una contraseña es como la ropa interior. No deberías dejarlas afuera a la vista de otras personas, deberías cambiarla regularmente, y ni se te ocurra prestarla a extraños.
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 23:47.