AS3 - можно ли вызвать переменную из строки? - PullRequest
3 голосов
/ 26 мая 2009

Есть ли способ заставить "getDefinitionByName ()" работать с любым типом объекта, я только заставил его работать с классом:

 var test:Class = getDefinitionByName("myClass") as Class;

Мне нужно что-то вроде:

var myNumber:Number = 10; 
var test:Number = getDefinitionByName("myNumber") as Number;

trace(test); //10

Или есть другой способ добиться этого?

Ответы [ 2 ]

3 голосов
/ 26 мая 2009

Вы должны определить свои коды ключей как открытые статические константы в вашем классе KeyCodes:

class KeyCodes { 
    public static const A:int = 65;
} 

Затем вы можете использовать их в качестве аргументов для вашей useKeyCodes функции:

useKeyCodes(KeyCodes.A);

Таким образом, вы получаете возможность не запоминать каждый код клавиши.

1 голос
/ 26 мая 2009

номер

Это короткий ответ, getDefinitionByName получает определение класса. Вы можете получить доступ к открытым полям и функциям с помощью синтаксиса [], как в trace(this["myNumber"]);. Ваш пример, кажется, с локальной переменной, которая на самом деле не имеет смысла.

Возможно, вы можете объяснить, что вы хотите сделать, это звучит как то, из чего вы можете выйти.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...