Показать сообщение отдельно
Старый 28.03.2011, 19:07
КорДум вне форума Посмотреть профиль Отправить личное сообщение для КорДум Найти все сообщения от КорДум
  № 22  
Ответить с цитированием
КорДум
 
Аватар для КорДум

блогер
Регистрация: Jan 2008
Адрес: syktyvkar
Сообщений: 3,803
Записей в блоге: 10
Цитата:
Не буду спорить, скорее всего вы правы, но тогда я не понимаю )))))
Ведь я подписываю событие на определенный экземпляр channel
Не скорее всего, а точно. Ну вот смотрите:
Код AS3:
channel = snd.play(pausePos);
Здесь вы переменной channel даете ссылку на экземпляр класса SoundChannel у конкретного экземпляра класса Sound, ссылка на который содержится в переменной snd. Все должно быть понятно и прозрачно. Затем вы присоединяете слушатель окончания, останавливаете звук, а потом вновь пишете:
Код AS3:
channel = snd.play(pausePos);
Вы назначаете переменной channel ссылку на другой экземпляр класса SoundChannel, он создался другой. Это ясно? А у нового экземпляра нет слушателя. Он есть у старого, ссылка на который у вас не сохранилась (да она больше и не нужна, за ней придет GC). Вот и нужно еще раз присоединить слушатель. Все ясно? Подробнее, как мне кажется, не объяснить вообще никак.
__________________
тут я