Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 3.0 (http://www.flasher.ru/forum/forumdisplay.php?f=83)
-   -   При Event.SOUND_COMPLETE - как узнать какой звук окончился? (http://www.flasher.ru/forum/showthread.php?t=172043)

SenCheR 30.11.2011 15:56

При Event.SOUND_COMPLETE - как узнать какой звук окончился?
 
Всем привет,
Одновременно проигрывается несколько звуков. Нужно дождаться окончания конкретного звука. Но при событии Event.SOUND_COMPLETE не нашел как узнать какой звук окончился. Есть ли способ различить их?

goodguy 30.11.2011 16:02

event.target не катит чтоли?

fljot 30.11.2011 16:02

Ну, очевидно, кто событие выкинул, тот и закончился (event.target)

SenCheR 30.11.2011 16:35

event.target это SoundChannel. А у меня в одном канале проигрывается несколько Sound. Соответственно в SoundChannel нет ссылки на Sound.

Код AS3:

                public function play(_class:Class, loops:uint = 0):void{
                        var snd:Sound = new (_class)();
                        channel = snd.play(0,loops);
                        channel.addEventListener(Event.SOUND_COMPLETE,soundComplete,false,0,true);
                }
 
                private function soundComplete(event:Event):void{
                        trace('soundComplete ' + event.target);
                }


fljot 30.11.2011 16:43

Код AS3:

private var channelToSoundMap:Dictionary = new Dictionary(true);
...
channelToSoundMap[channel] = snd;
...
var snd:Sound = channelToSoundMap[event.target] as Sound;


crazyone 30.11.2011 16:45

В одном канале не может проигрываться несколько Sound. Каждый раз при snd.play(0,loops) у тебя создается отдельный SoundChannel.

Но ссылки на Sound в нем действительно нет. Поэтому нужно либо фигачить словарик соответствия SoundChannel конкретному Sound, либо еще как-нибудь сохранять эту связь.


Часовой пояс GMT +4, время: 08:22.

Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.