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

onKeyDown

Estas en el tema de onKeyDown en el foro de Flash y Actionscript en Foros del Web. Hola a todos.. he encotrado este codigo para poder detectar cuando se presiona una letra en el teclado Código HTML: var keyListener:Object = new Object(); ...
  #1 (permalink)  
Antiguo 03/05/2010, 13:15
Avatar de Vannessa  
Fecha de Ingreso: septiembre-2005
Mensajes: 69
Antigüedad: 18 años, 7 meses
Puntos: 0
onKeyDown

Hola a todos.. he encotrado este codigo para poder detectar cuando se presiona una letra en el teclado

Código HTML:
var keyListener:Object = new Object();
keyListener.onKeyDown = function() {
    if (Key.getAscii() == 13) {
    play();
    }
};
Key.addListener(keyListener);
Mi problema es que no se si este va directamente en el primer frame o dentro de algun objeto.. podrían ayudrme???
  #2 (permalink)  
Antiguo 03/05/2010, 14:50
Avatar de Kottore  
Fecha de Ingreso: octubre-2007
Mensajes: 170
Antigüedad: 16 años, 6 meses
Puntos: 8
Respuesta: onKeyDown

En el primer frame

Saludos ^_^
__________________
これは僕のウェブだよね。
  #3 (permalink)  
Antiguo 03/05/2010, 15:02
Avatar de Vannessa  
Fecha de Ingreso: septiembre-2005
Mensajes: 69
Antigüedad: 18 años, 7 meses
Puntos: 0
Respuesta: onKeyDown

Hola, gracias por responder... mira sabes que lo pongo en el primer frame pero no funciona,... no se si tengas algun codigo alterno que me pueda servir.. mira lo que quiero hacer es lo siguiente:

quiero poder presionar cualquier letra del abecedario y que me arroje un trace("a"), por ejemlo al precionar la a..

he visto varias ayudas, como la que puse anteriormente, pero no me esta sirviendo

Mira, incluso tengo este otro codigo, este lo tengo dentro de una movie

Código HTML:
onClipEvent (keyDown) {
 if (Key.getCode() == Key.RIGHT) {
 trace("derecha");
 } else if (Key.getCode() == Key.LEFT) {
 trace("izquierda");
 } else if (Key.isDown(Key.CONTROL)) {
 trace("CONTROL");
 } else if (Key.getCode() == 67) {
 trace("C");
 }
}
Lo que son las teclas Right, left y Control si me funcionan, pero la que no me funciona es el ultimo if para mostrar la "C".

apreciaria si me dices donde esta mi error!!

Gracias
  #4 (permalink)  
Antiguo 03/05/2010, 15:08
Avatar de Diegoazul  
Fecha de Ingreso: mayo-2007
Ubicación: { Dash Berlin }
Mensajes: 1.879
Antigüedad: 16 años, 10 meses
Puntos: 67
Respuesta: onKeyDown

Así va sobre un clip:
Código PHP:
onClipEvent (keyDown) {
 if (
Key.getCode() == Key.RIGHT) {
 
trace("derecha");
 } else if (
Key.getCode() == Key.LEFT) {
 
trace("izquierda");
 } else if (
Key.isDown(Key.CONTROL)) {
 
trace("CONTROL");
 } else if (
Key.getCode() == 67) {
 
trace("C");
 }

Asi va en un frame como te dijo Kottore:

Código PHP:
var keyListener:Object = new Object();
keyListener.onKeyDown = function() {
    if (
Key.getAscii() == 13) {
    
play();
    }
};
Key.addListener(keyListener); 
__________________
{ Flash }
  #5 (permalink)  
Antiguo 03/05/2010, 15:27
Avatar de Kottore  
Fecha de Ingreso: octubre-2007
Mensajes: 170
Antigüedad: 16 años, 6 meses
Puntos: 8
Respuesta: onKeyDown

El trace no va porque se selecciona una herramienta mientras se ejecuta el Flash pero si en lugar del trace pones un evento lo hará, por ejemplo play();


Saludos ^.^
__________________
これは僕のウェブだよね。
  #6 (permalink)  
Antiguo 03/05/2010, 15:34
Avatar de Vannessa  
Fecha de Ingreso: septiembre-2005
Mensajes: 69
Antigüedad: 18 años, 7 meses
Puntos: 0
Respuesta: onKeyDown

Bueno, si me sirven, pero no me funcionan cuando tecleo por ejemplo la "C"

Código PHP:
onClipEvent (keyDown) { 
 if (
Key.isDown(Key.CONTROL)) { 
 
trace("CONTROL"); 
 } else if (
Key.getCode() == 67) { 
 
trace("C"); 
 } 

osea funciona cuando presiona la tecla Control, pero cuando presiono la letra C no muestra nada... es por eso que pido su ayuda..
  #7 (permalink)  
Antiguo 03/05/2010, 16:30
Avatar de Kottore  
Fecha de Ingreso: octubre-2007
Mensajes: 170
Antigüedad: 16 años, 6 meses
Puntos: 8
Respuesta: onKeyDown

Cita:
Iniciado por Vannessa Ver Mensaje
osea funciona cuando presiona la tecla Control, pero cuando presiono la letra C no muestra nada... es por eso que pido su ayuda..
Como te mencioné arriba, si en vez de un trace pones una acción funcionará.
Pon algo como esto:


Código ActionScript:
Ver original
  1. onClipEvent (keyDown) {
  2.     if (Key.getCode() == 67) {
  3.         if(this._visible==true){
  4.             this._visible=false;
  5.         }else{
  6.             this._visible=true;
  7.         }
  8.     }
  9. }

Luego ejecuta el *.swf. Si lo ejecutas desde el Flash no funcionará porque intercepta la c y lo interpreta como cambio de herrmienta.

Saludos
__________________
これは僕のウェブだよね。
  #8 (permalink)  
Antiguo 03/05/2010, 17:29
Avatar de Vannessa  
Fecha de Ingreso: septiembre-2005
Mensajes: 69
Antigüedad: 18 años, 7 meses
Puntos: 0
Respuesta: onKeyDown

UPSSS... sorry ya lo probe tal y como me dijiste y si funcionóooo.. son unos masters chicos, disculpen que no haya entendido antes pero con la utima explicacion ya me quedó mas claro.

Gracias por su aporte!!

Etiquetas: Ninguno
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 22:18.