Экранирование из XML в код ActionScript 3 - PullRequest
0 голосов
/ 16 сентября 2009

Можно ли уйти из XML в код ActionScript 3? Взгляните на следующее:

<keyFrame name="myKey" delay="100ms" function="{function():void{soundCommand.execute()}}"></keyFrame>

где

function():void{soundCommand.execute()}

часть должна интерпретироваться как ActionScript 3. Поэтому в идеале, если я запрашиваю атрибут функции тега keyFrame, я должен получить ссылку на функцию.

Есть идеи? Заранее спасибо!

PS: Flex не допускается. :)

1 Ответ

2 голосов
/ 16 сентября 2009

Оператор eval в ActionScript очень и очень прост по сравнению со стандартным JS, поэтому просто интерпретировать этот оператор с помощью eval не удастся.

Вместо указания анонимной функции было бы проще просто дать имя функции. Затем вы можете просто найти эту функцию на соответствующем объекте и запустить ее так:

function foo():void {
    trace("run foo!");
}

var testXML:XML = <keyFrame name="myKey" delay="100ms" function="foo"></keyFrame>;

this[testXML.@function]();
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...