У меня есть Flash-проект со многими звуковыми каналами, активными одновременно. Мне нужна небольшая функция, чтобы воспроизвести ее и закодировать ее, и имя звукового канала будет передано как параметр. Это функция:AS3 Динамический доступ к звуковому каналу
function playBGMusic(channel:String):void
{
SoundChannel(channel) = bgSound1.play();
SoundChannel(channel).addEventListener(Event.SOUND_COMPLETE, loopBGMusic);
}
playBGMusic("bgChannel1");
Это не работает, вспышка дает мне эту ошибку:
1105: Target of assignment must be a reference value.
Я пытался упростить функцию, используя статическую строку только в слушателе
function playBGMusic():void
{
bgChannel1 = bgSound1.play();
SoundChannel("bgChannel1").addEventListener(Event.SOUND_COMPLETE, loopBGMusic);
}
playBGMusic();
На этот раз он собирает, но это дает мне эту ошибку:
Error #1034: Type Coercion failed: cannot convert "bgChannel1" to flash.media.SoundChannel.
Как я могу получить доступ к звуковому каналу из строки?
Thaks.