Comunidad de diseño web y desarrollo en internet online

problema con el KeyboardEvent

Citar            
MensajeEscrito el 09 May 2009 11:46 pm
hola amigos bueno tengo otro problema que no he caído hasta ahora, no me funciona el KeyboardEvent, siempre estado vinculándolo al stage por lo que no me he dado cuenta que no funciona si este es vinculado en un mc, segun los ejemplos tendría que funcionar

por ejemplo tengo un TextField llamado tes y si pongo esto funciona

Código :

stage.addEventListener(KeyboardEvent.KEY_DOWN, tipo);
function tipo(event:KeyboardEvent):void{
   tes.text=String(event.keyCode)
}

si lo pongo así funciona también

Código :

tes.addEventListener(KeyboardEvent.KEY_DOWN, tipo);
function tipo(event:KeyboardEvent):void{
   tes.text=String(event.keyCode)
}


ahora si lo vinculado a un mc que he creado con el nombre de mc de esta manera

Código :

mc.addEventListener(KeyboardEvent.KEY_DOWN, tipo);
function tipo(event:KeyboardEvent):void{
   tes.text=String(event.keyCode)
}


no funciona según el ejemplo que hay en ayuda y todo lo que e visto tendría que funcionar sin mas pero no lo hace alguna idea

Por Lynxcraft

33 de clabLevel



 

firefox
Citar            
MensajeEscrito el 11 May 2009 09:40 am
supongo que no funciona porque no existe el mc (o no está añadido al stage)
Vamos, haz un

Código ActionScript :

trace(mc)
trace(stage.contains(mc))

a ver qué sale

Por Eliseo2

710 de clabLevel



 

firefox
Citar            
MensajeEscrito el 11 May 2009 02:40 pm
hola gracias por responder el mc existe si no daría error XDXD

Por Lynxcraft

33 de clabLevel



 

firefox
Citar            
MensajeEscrito el 11 May 2009 03:20 pm
:glups: he hecho unas pruebas y tienes razón. Parece que sólo si el Mc "tiene el foco" es capaz de recoger los eventos del teclado.

Código ActionScript :

stage.focus = mc;

(aunque para darle el foco lo he tenido que hacer usando un onClick y le sale un recuadro amarillo horrible)
NOTA:¿Para qué le quieres dar el foco a un MovieClip? ¿no valdría añadirle el evento a "mc.stage" o algo parecido?

Por Eliseo2

710 de clabLevel



 

firefox
Citar            
MensajeEscrito el 11 May 2009 03:25 pm
por que es para un juego en teoría solo si el objeto esta vinculado puede activar los eventos del teclado,gracias por el aporte a ver si consigo quitar el cuadro amarillo de todos modos lo malo es que si ases otra cosa se quita el focus XDXD bueno ya veré como se puede solucionar

Por Lynxcraft

33 de clabLevel



 

firefox
Citar            
MensajeEscrito el 11 May 2009 03:35 pm
Creo que lo más sencillo es hacer algo como lo que mostró zguillez en este tip
Así con eliminar el objeto "teclado" bastaría

Otra opción es usar removeEventListener cuando no queramos que se use el teclado

No se me ocurre mucho más :(

Por Eliseo2

710 de clabLevel



 

firefox
Citar            
MensajeEscrito el 11 May 2009 03:49 pm
si ya veo gracias en buen tip tan con eso se me ha ocurrido un par de ideas Gracias
:lol: :lol:

Por Lynxcraft

33 de clabLevel



 

firefox

 

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