Показать сообщение отдельно
Старый 26.06.2013, 16:03
mihael_p вне форума Посмотреть профиль Отправить личное сообщение для mihael_p Посетить домашнюю страницу mihael_p Найти все сообщения от mihael_p
  № 8  
Ответить с цитированием
mihael_p

Регистрация: Jul 2011
Сообщений: 249
Отправить сообщение для mihael_p с помощью Skype™
Странная ситуация,в функции removeAllSounds трейс перед while показывает, что длина массива равна 8, после while равна 0. Но, трейс в функции:

Код AS3:
private function OnSFXComplete(e:Event):void
{
	trace("Удалился");
	var thisSoundChannel:SoundChannel = e.currentTarget as SoundChannel;
	thisSoundChannel.removeEventListener(Event.SOUND_COMPLETE, OnSFXComplete);
	var idx:int = mSoundChannels.indexOf(thisSoundChannel);
	mSoundChannels.splice(idx, 1);
	soundTransforms.splice(idx, 1);
	thisSoundChannel = null;
}
срабатывает столько раз, сколько было элементов в массиве. Срабатывает после вызова функции removeAllSounds. Пробовал снимать слушателя - не помогает, звуки все равно проигрываются
__________________
Не стыдно спросить, стыдно не знать !