Comunidad de diseño web y desarrollo en internet online

Como usar la sentencia Switch

Citar            
MensajeEscrito el 01 Jul 2008 06:04 pm
Estoy aprendiendo ActionScript 3 y nunca habia programado, por esa razon pido encarecidamente que me expliquen porque este ejemplo no funciona si en verdad no tiene erreres. La salida me dice que en la line 28 hay un "Acceso a una propiedad Key no definida" y lo mismo me dice para la lenea 5, cual seria esa propiedad y como definirla.

El ejemplo es el siguiente:

var listenerObj:Object = new Object();
//creamos la función que ocurrirá al presionar la tecla
listenerObj.onKeyDown = function() {
//haremos un switch de las letras presionadas
switch (String.fromCharCode(Key.getAscii())) {
case "A" :
trace("you pressed A");
break;
case "a" :
trace("you pressed a");
break;
//aquí puedes notar que se pueden dar varios valores para la variable a la que le estamos haciendo switch y asignarles el mismo valor final
case "E" :
case "e" :
trace("you pressed E or e");
break;
case "I" :
case "i" :
trace("you pressed I or i");
break;
//en caso de que ninguna tecla de las que apretamos tenía una opción anteriormente, el programa nos dirá que presionamos otra tecla...
default :
trace("you pressed some other key");
break;
}
};
//le decimos al flash que escuche por las teclas presionadas
Key.addListener(listenerObj);

Por isidrotg15

8 de clabLevel



Genero:Masculino  

msie
Citar            
MensajeEscrito el 01 Jul 2008 06:47 pm
Hola,

Estuve probando y este es el ejemplo que trae la ayuda de flash. Primero te cuento varias cosas.

No ten funciona porque estas utilizando es as2.
Intenta crear un nuevo documento con as2 y te funciona correctamente.

Si necesitas saber como funcionan los switch, acá un pequeño ejemplo.

Digamos que necesitamos mostrar 3 diferentes mensajes dependiendo de un identificador, lo más fácil será crear una fución que por dentro tenga un switch que permita obtener una respuesta dependiendo de un identificador x.

Así:

Código :

function getMensaje(id){

ans = "";

switch(id)
{
case 1: ans ="Opcion 1";
           break;
case 2: ans ="Opcion 2";
           break;
case 3: ans ="Opcion 3";
           break;
default: ans="Si el valor del id es diferente de 1, 2 o 3, sale este mensaje";
            break;
}

return ans;

}


Luego para usar la función utilizamos:

Código :

trace(getMensaje(1));
trace(getMensaje(0));
trace(getMensaje(3));
trace(getMensaje(2));


Ok, espero haber ayudado un poco.[/code]

Por miliciano

50 de clabLevel



Genero:Masculino  

Colombia

firefox
Citar            
MensajeEscrito el 01 Jul 2008 07:53 pm
switch es una herramienta de la programación para no estar usando tantos if, ahora solo puedes usar enteros o caracteres, no se si eso mismo lo acepta switch para AS, debe ser asi, entonces este es el prototipo

Código :

switch ( "tipo de dato" ) {<<--- repito, sea entero o Number, o, caracter o char
       case 1: (acciones a realizar); <<-- puede ser mas de esta linea
                  break; <<--- rompe el ciclo de lo contrario haría todos los case
       case 2: (acciones a realizar);
                  break;
       default: en caso de que no encuentra la opcion en cada "case"
}  <<--- se cierra el switch


Ahora si son caracteres seria asi, repito no se si asi lo maneja AS, pero este es un estandar de programacion

Código :

switch ( "tipo de dato" ) {<<--- repito, sea entero o Number, o, caracter o char
       case '1': (acciones a realizar); <<-- puede ser mas de esta linea
                  break; <<--- rompe el ciclo de lo contrario haría todos los case
       case '2': (acciones a realizar);
                  break;
       default: en caso de que no encuentra la opcion en cada "case"
}  <<--- se cierra el switch


Y este es el prototipo del switch espero te sirva.

Por CrASh_

21 de clabLevel



 

firefox
Citar            
MensajeEscrito el 15 May 2009 03:17 pm
Bueno a mi si me sirvió.. gracias a los dos.. saludos!.

Por Freeki

Claber

183 de clabLevel



Genero:Masculino  

Desarrollador Web Uy

firefox

 

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