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()
Это для CS3. Если ваша среда отличается, найдите раздел "Встраивание звуков" в справке.