Comunidad de diseño web y desarrollo en internet online

combinacion de teclas

Citar            
MensajeEscrito el 08 Ene 2007 03:41 pm
Buenas tardes

Estoy realizando un proyecto web y quiero que al pulsar una combinacion de teclas se mueva directamente a un frame especifico.
Hasta ahora he conseguido que pulsando una secuencia de letras lo haga. Una detras de otra.
Pero lo que quiero hacer, si es k se puede, es que al pulsar ctrl+alt+r por ejeplo haga lo mismo, se mueva a un frame k yo le indique. Alguien puede echarme una mano?

Muchas gracias de antemano

Un saludo

Gorehide

Por Gorehide

15 de clabLevel



 

Bilbao

firefox
Citar            
MensajeEscrito el 08 Ene 2007 07:10 pm
Muy facil, usas un IF y con && le especificas que si tambien esta haciendo lo que le digas a continuacion que ejecute la funcion. Por ejemplo:

Código :

onEnterFrame = function () {
   if (Key.isDown(Key.UP) && Key.isDown(Key.DOWN)) {
      trace("HOLA");
   }
};


Eso seria como: Si la tecla UP y la tecla DOWN están presionadas que escribe HOLA

Si quieres añadir mas teclas pues añades mas && (no olvides que son 2 ;D) y seguido key.isdown.... y la tecla que quieras. Un ejemplo usando la propiedad _x como accion del condicional IF. Saludos y espero que te sirva


EDIT: Se me olvidó poner el enlace al FLA del ejemplo ^^ " porsi lo quieres. Aqui lo tienes =]

Por infernalpr

236 de clabLevel



 



Ultima edición por infernalpr el 18 Feb 2007 04:58 pm, editado 1 vez

LoL

firefox
Citar            
MensajeEscrito el 09 Ene 2007 11:46 am
Muchas gracias infernalpr

Mira que me habia complicado yo para hacer la secuencia de las teclas.
A veces tiramos por el lado mas largo para llegar aqui al lado,
pero hace falta alguien k te abra los ojos :D

Muchas gracias por la ayuda

Un saludo

Gorehide

Por Gorehide

15 de clabLevel



 

Bilbao

firefox
Citar            
MensajeEscrito el 17 Mar 2013 01:41 pm
Hola:
Necesito algo parecido pero para poder usar cualquier tecla del teclado.
Lo he intentado con esto

Código :

onEnterFrame = function () {
   if ((Key.isDown(Key.getAscii())==65) && (Key.isDown(Key.BACKSPACE))) {
      trace("Has pulsado la a y el borrador juntos");
   }
};

pero no funciona.
Alguien puede ayudar??

Por Caronteaguarda

1 de clabLevel



 

firefox
Citar            
MensajeEscrito el 17 Mar 2013 06:58 pm
Hola, yo lo pondría así, amigo:

Código ActionScript :

onEnterFrame = function () {
    if (Key.isDown(65) && Key.isDown(Key.BACKSPACE)) {
        trace("Has pulsado la a y el borrador juntos");
    }
};


pero te lo detectaría muchas veces. Lo suyo sería hacer un listener.
Algo así:

Código ActionScript :

var keyListener:Object = new Object();
keyListener.onKeyDown = function() {
   KD = Key.isDown;
    if (KD(65) && KD(Key.BACKSPACE)) {
        trace("Has pulsado la a y el borrador juntos");
    }
   keyListener.onKeyUp = function() {
   KD = false;
   }
};
Key.addListener(keyListener);

Lo que no sé es porqué sólo lo detecta bien si la primera tecla que presionas es la de borrar...

Por chachon2

41 de clabLevel



 

chrome
Citar            
MensajeEscrito el 21 Mar 2013 09:06 pm
Muchas gracias por tu pronta y amable respuesta, chachon2.
El caso es que enredando (sólo se un poco de javascript) utilicé este código

Código :

//fa#
         if ((Key.isDown(83))&&(Key.isDown(70))&&(Key.isDown(71))&&(Key.isDown(72))&&(Key.isDown(74))&&(Key.isDown(75))) {
         activacion=false;
            _global.wert=9;
             trace(_global.wert);
            
             }
   if (activacion==true){
         //Do agudo
      if ((Key.isDown(83))||(Key.isDown(65))||(Key.isDown(68))||(Key.isDown(70))||(Key.isDown(71))||(Key.isDown(72))||(Key.isDown(74))||(Key.isDown(75))) {
         
            _global.wert=8;
             trace(_global.wert);
            
             }
         //Si
      if ((Key.isDown(83))||(Key.isDown(65))||(Key.isDown(68))||(Key.isDown(70))||(Key.isDown(71))||(Key.isDown(72))||(Key.isDown(74))) {
         
            _global.wert=7;
             trace(_global.wert);
            
             }
         //La
      if ((Key.isDown(83))||(Key.isDown(65))||(Key.isDown(68))||(Key.isDown(70))||(Key.isDown(71))||(Key.isDown(72))) {
         
            _global.wert=6;
             trace(_global.wert);
            
             }
         //Sol
      if ((Key.isDown(83))||(Key.isDown(65))||(Key.isDown(68))||(Key.isDown(70))||(Key.isDown(71))) {
         
            _global.wert=5;
             trace(_global.wert);
            
             }
             //Fa
      if ((Key.isDown(83))||(Key.isDown(65))||(Key.isDown(68))||(Key.isDown(70))) {
            
            _global.wert=4;
             trace(_global.wert);
            
             }...
que me funciona bastante regular.
Como puedes ver se trata de una flauta virtual. Cuando están todas las teclas pulsadas suena do, cuando sueltas una más re, etc...Como es progresivo suena bien, aunque también suena cuando solamente pulsas solamente la tecla que corresponde. El problema surgió cuando tenias que hacer una mezcla de teclas (sin continuidad) como por ejemplo el fa#. esto lo solucione con &&. Todo esto lo estoy probando con un game-pad, ya que el teclado solo acepta la pulsación simultánea de 3 o 4 teclas.
El código, como puedes observar, es muy sucio y digno de un completo analfabeto, pero no se hacerlo mejor.
De todas maneras, muchas gracias por compartir vuestros conocimientos. ^^

Por Caronteaguarda

1 de clabLevel



 

firefox

 

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