Convertir código clave a cadena en Actionscript 3
actionscript-3 flash (2)
Puede obtener el nombre de la propiedad con describeType
y acceder a la propiedad como String como Keyboard["UP"]
.
Entonces, puedes crear una tabla. Por ejemplo
import flash.utils.describeType;
function getKeyboardDict():Dictionary {
var keyDescription:XML = describeType(Keyboard);
var keyNames:XMLList = keyDescription..constant.@name;
var keyboardDict:Dictionary = new Dictionary();
var len:int = keyNames.length();
for(var i:int = 0; i < len; i++) {
keyboardDict[Keyboard[keyNames[i]]] = keyNames[i];
}
return keyboardDict;
}
var keyDict:Dictionary = getKeyboardDict();
trace(keyDict[Keyboard.UP]); //UP
trace(keyDict[Keyboard.SHIFT]); //SHIFT
Estoy usando Actionscript 3 en Flash CS6 usando Adobe AIR 3.4 for Desktop runtime.
Tengo ciertos códigos clave definidos como valores enteros (el ejemplo a continuación muestra 38 para UP y 68 para D)
var KEY_UP:uint = Keyboard.UP;
var KEY_D:uint = Keybaord.D;
Sin embargo, necesito mostrar las claves de las teclas para el usuario (y obviamente no puedo mostrar los valores enteros).
¿Cómo puedo convertir estos valores de teclado a un valor de cadena como "Arriba" o "D" (en lugar de 38 y 68)?
Si está utilizando OpenFL con Haxe, puede ir a Keyboard.hx
en openfl/ui
y usar una openfl/ui
en un editor de texto (como Vim o Gedit) en el contenido del archivo para generar un código de clave para el diccionario de cadenas.
Use esto para crear un interruptor:
:%s//([A-Z_0-9]*/)/ =/ /([0-9]*/)/case /2/: return "/1"/g