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

Регистрация: Jul 2011
Сообщений: 249
Отправить сообщение для mihael_p с помощью Skype™
Цитата:
Сообщение от PsixokoT Посмотреть сообщение
1) Вы идете циклом от начала массива и в нем же удаляете из него элементы, это не правильно!
А как правильно, подскажите?

Цитата:
Сообщение от PsixokoT Посмотреть сообщение
2) У экземпляров SoundChannel есть метод stop()
Сделал так:
Код AS3:
public function removeAllSounds():void
{
	SoundMixer.stopAll();
	var len:int = mSoundChannels.length;
	for (var i:int = 0; i < len; i++)
	{
		var thisSoundChannel:SoundChannel = mSoundChannels[i] as SoundChannel;
		if (thisSoundChannel != null)
		{
       thisSoundChannel.stop(); // остановка звука
			thisSoundChannel.removeEventListener(Event.SOUND_COMPLETE, OnSFXComplete);
			var idx:int = mSoundChannels.indexOf(thisSoundChannel);
			mSoundChannels.splice(idx, 1);
			soundTransforms.splice(idx, 1);
			thisSoundChannel = null;
		}
	}
}
не помогло

Добавлено через 2 минуты
Цитата:
Сообщение от belv Посмотреть сообщение
http://help.adobe.com/ru_RU/FlashPla....html#stopAll() ,почитайте , может вам и не нужен цикл.
В начале, перед циклом, стоит этот метод остановки, но он не помогает
__________________
Не стыдно спросить, стыдно не знать !