Actionscript 3: воспроизведение звука из библиотеки с именем из строки

Я пытаюсь написать код actionScript 3 для воспроизведения коротких звуков из библиотеки, используя динамически создаваемую строку для ее загрузки.

В AS2 я мог бы сделать что-то вроде этого:

mySound = new Sound();
mySound.attachSound("any concatenated string" + foo);

Однако в AS3 идентификатор является классом, имя которого, по-видимому, должно быть уже известно. Есть ли простой способ "прикрепить" звук, используя идентификатор в виде строки в ActionScript 3?

2 ответа

Решение

Сначала в вашей библиотеке установите связь классов звукового файла, щелкнув правой кнопкой мыши, выбрав свойства и отредактировав поле Class в разделе Linkage. В этом примере это будет Class:FogHorn

 import flash.utils.getDefinitionByName;    
 var SoundClass:Class = getDefinitionByName("FogHorn") as Class;
 var newSound:Sound = new SoundClass(); 
 newSound.play()

http://www.adobe.com/livedocs/flash/9.0/main/wwhelp/wwhimpl/common/html/wwhelp.htm?context=LiveDocs_Parts&file=00000287.html

Это для CS3. Если ваша среда отличается, найдите раздел "Встраивание звуков" в справке.

Другие вопросы по тегам