actionscript-3 flash actionscript air keyboard

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