Форум Flasher.ru
Ближайшие курсы в Школе RealTime
Список интенсивных курсов: [см.]  
  
Специальные предложения: [см.]  
  
 
Блоги Правила Справка Пользователи Календарь Сообщения за день
 

Вернуться   Форум Flasher.ru > Архив Flasher.ru > Flash > ActionScript

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему  
Старый 03.06.2004, 11:40
dimarik вне форума Посмотреть профиль Отправить личное сообщение для dimarik Найти все сообщения от dimarik
  № 1  
dimarik
.
 
Аватар для dimarik

модератор форума
Регистрация: Sep 2003
Адрес: Москва
Сообщений: 4,630
Записей в блоге: 20
По умолчанию Управление звуковыми объектами, находящимися в массиве

Дано
1. Массив объектов Sound в виде
var sndObjectsArray = [];
var sndObjectsArrayIndex = 0;

// В цикле пригружаем звучки, имена файлов в массиве sndFileNamesArray
sndObjectsArray[sndObjectsArrayIndex] = new Sound();
sndObjectsArray[sndObjectsArrayIndex].loadSound(sndFileNamesArray[sndObjectsArrayIndex], false);
sndObjectsArrayIndex++;

2. Элемент управления громкостью и балансом общий для всего мувика (да, собственно и для кучи других мувиков)управляет объектом звука playerSound
//
playerSound = new Sound();
playerSound.onSoundComplete = function(){
// _НЕ_РАБОТАЕТ_!!!_А_ОЧЕНЬ_НАДА_
}
playerSound = sndObjectsArray[1];
//
sndObjectsArray[1].onSoundComplete = function(){
// _РАБОТАЕТ_НО_НАМ_ТАКОГО_НЕ_НАДА!!!_
}
Другими словами - не работает хэндлер onSoundComplete для объекта playerSound

Вопрос.
Как динамически переопределять хэндлер onSoundComplete для playerSound, который в свою очередь берет "контент" из объектов в массиве sndObjectsArray.
__________________
Воспитан в TimeZero. Работаю в Mail.ru.

Старый 03.06.2004, 14:13
DeliMIter вне форума Посмотреть профиль Отправить личное сообщение для DeliMIter Найти все сообщения от DeliMIter
  № 2  
DeliMIter
некрофил
 
Аватар для DeliMIter

Регистрация: Mar 2002
Адрес: ...по колено в кровище...
Сообщений: 2,292
По умолчанию Re: Управление звуковыми объектами, находящимися в массиве

Цитата:
Оригинал написал(а) dimarik playerSound = new Sound();
playerSound.onSoundComplete = function(){
// _НЕ_РАБОТАЕТ_!!!_А_ОЧЕНЬ_НАДА_
}
playerSound = sndObjectsArray[1];
А теперь посмотри, что ты написал... Ты создаешь новый саунд, назначаешь ему хандлер, а потом этой переменной присваиваешь абсолютно другой объект. Естественно он у тебя работать не будет, так как хандлер умерает смертью храбрых вместе со старым объектом.
__________________
...убивать людей не удовольствия ради, но для еды.

Старый 03.06.2004, 14:42
dimarik вне форума Посмотреть профиль Отправить личное сообщение для dimarik Найти все сообщения от dimarik
  № 3  
dimarik
.
 
Аватар для dimarik

модератор форума
Регистрация: Sep 2003
Адрес: Москва
Сообщений: 4,630
Записей в блоге: 20
Хм... А как правильно?
__________________
Воспитан в TimeZero. Работаю в Mail.ru.

Старый 03.06.2004, 15:14
DeliMIter вне форума Посмотреть профиль Отправить личное сообщение для DeliMIter Найти все сообщения от DeliMIter
  № 4  
DeliMIter
некрофил
 
Аватар для DeliMIter

Регистрация: Mar 2002
Адрес: ...по колено в кровище...
Сообщений: 2,292
Назначь хандлеры объектам - элементам массива. Они и будут срабатывать. Если ты хочешь, чтобы у тебя было загружено несколько звуков одновременно, то именно так - правильно.
__________________
...убивать людей не удовольствия ради, но для еды.

Старый 03.06.2004, 17:12
dimarik вне форума Посмотреть профиль Отправить личное сообщение для dimarik Найти все сообщения от dimarik
  № 5  
dimarik
.
 
Аватар для dimarik

модератор форума
Регистрация: Sep 2003
Адрес: Москва
Сообщений: 4,630
Записей в блоге: 20
Не могу - не знаю количество элементов массива (генерится динамически и кол-во элементов заранее не известно).
__________________
Воспитан в TimeZero. Работаю в Mail.ru.

Создать новую тему   Часовой пояс GMT +4, время: 21:41.
Быстрый переход
  « Предыдущая тема | Следующая тема »  

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


 


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


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