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

Вернуться   Форум Flasher.ru > Flash > ActionScript 3.0

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

блогер
Регистрация: Feb 2008
Сообщений: 1,453
Записей в блоге: 4
По умолчанию Загрузка звуков

Прошу помощи в разрешении спора.
Есть некий условный проект, который грузит в себя различные ресурсы, в т.ч. и звуки. Все загружаемые звуки должны проигрываться после того, как будут загружены по мере требования.
Собственно вопрос: каким образом лучше/правильнее грузить звуки - отдельным менеджером загрузок или звуковым менеджером (используя Sound.load)?
Заранее спасибо.
__________________
Ну все, теперь Забава м-о-я.
Гы-гы, а корабль мой!

Старый 15.12.2011, 17:12
Genzo вне форума Посмотреть профиль Отправить личное сообщение для Genzo Посетить домашнюю страницу Genzo Найти все сообщения от Genzo
  № 2  
Ответить с цитированием
Genzo
 
Аватар для Genzo

блогер
Регистрация: Feb 2010
Адрес: MSK
Сообщений: 859
Записей в блоге: 3
Отправить сообщение для Genzo с помощью ICQ Отправить сообщение для Genzo с помощью Skype™
Если в приложении будет много звуков (>2 одновременно может воспроизводиться), я бы сделал SoundManager, который отвечал бы за загрузку и воспроизведение оных. И воспроизводил бы все звуки, через 1 единственный Sound, через SampleDataEvent
__________________
Gamedev != Gaming (http://twitter.com/#!/GenzoDev). Don't forget to [+] if it works.

Старый 15.12.2011, 19:02
cleptoman вне форума Посмотреть профиль Отправить личное сообщение для cleptoman Найти все сообщения от cleptoman
  № 3  
Ответить с цитированием
cleptoman
 
Аватар для cleptoman

блогер
Регистрация: Mar 2007
Сообщений: 1,291
Записей в блоге: 5
Отправить сообщение для cleptoman с помощью ICQ
я бы звуки напихал в отдельную свф, грузил и дергал готовые саунды на базе звуковых файлов.
__________________
http://cleptoman.free-lance.ru
achivements: дважды благословлен на воровство. осеяный благодатью

Старый 16.12.2011, 01:18
TanaTiX вне форума Посмотреть профиль Отправить личное сообщение для TanaTiX Найти все сообщения от TanaTiX
  № 4  
Ответить с цитированием
TanaTiX
 
Аватар для TanaTiX

блогер
Регистрация: Feb 2008
Сообщений: 1,453
Записей в блоге: 4
cleptoman, не подойдет, т.к. в других проектах такое может быть не приемлемым, а код необходимо использовать повторно.
Genzo, я вот считал, что загрузкой контента должен заниматься один класс/модуль, а воспроизведением другой. В отношении звуков допускаю что возможны загрузка и воспроизведение в одном классе/модуле в случае, когда нет необходимости дожидаться окончания загрузки файла для его воспроизведения.
Если я не прав, то в чем?
__________________
Ну все, теперь Забава м-о-я.
Гы-гы, а корабль мой!

Старый 16.12.2011, 11:01
Genzo вне форума Посмотреть профиль Отправить личное сообщение для Genzo Посетить домашнюю страницу Genzo Найти все сообщения от Genzo
  № 5  
Ответить с цитированием
Genzo
 
Аватар для Genzo

блогер
Регистрация: Feb 2010
Адрес: MSK
Сообщений: 859
Записей в блоге: 3
Отправить сообщение для Genzo с помощью ICQ Отправить сообщение для Genzo с помощью Skype™
Цитата:
Сообщение от TanaTiX Посмотреть сообщение
Genzo, я вот считал, что загрузкой контента должен заниматься один класс/модуль, а воспроизведением другой. В отношении звуков допускаю что возможны загрузка и воспроизведение в одном классе/модуле в случае, когда нет необходимости дожидаться окончания загрузки файла для его воспроизведения.
Если я не прав, то в чем?
В принципе вы правы, т.к. частную логику загрузки нельзя мешать с логикой воспроизведения, ни кто не знает точно каким образом вы будете загружать файлы и т.п., может вы вообще их по сокетам передавать будете. В таком случае думаю хороша такая схема :
Цитата:
FileLoader : URLLoader || Socket || Loader || URLStream -> IDataManager
IDataManager : [
SoundManager,
VideoManager,
PictureManager,
TextManager
]
И такая иерархия :
Цитата:
Application -> SoundManager.getSound("fightSound_sword") -> FileLoader.request(FileLoader.SOUND "fightSound_sword" , "audio/mpeg") -> URLLoader.load();
В FileLoader может вставить механизм кеширования и т.п. вещей, а в IDataManager передавать уже загруженные данные и оперировать ими.
__________________
Gamedev != Gaming (http://twitter.com/#!/GenzoDev). Don't forget to [+] if it works.

Старый 16.12.2011, 20:17
TanaTiX вне форума Посмотреть профиль Отправить личное сообщение для TanaTiX Найти все сообщения от TanaTiX
  № 6  
Ответить с цитированием
TanaTiX
 
Аватар для TanaTiX

блогер
Регистрация: Feb 2008
Сообщений: 1,453
Записей в блоге: 4
Genzo, спасибо за мнение. Я себе примерно так и представлял (2й вариант). Жаль только что мало альтернативных мнений. А то спор спором, но делать по уму хочется. Может в своем плане действий чего не доглядел/не учел...
__________________
Ну все, теперь Забава м-о-я.
Гы-гы, а корабль мой!

Старый 17.12.2011, 00:13
dimarik вне форума Посмотреть профиль Отправить личное сообщение для dimarik Найти все сообщения от dimarik
  № 7  
Ответить с цитированием
dimarik
.
 
Аватар для dimarik

модератор форума
Регистрация: Sep 2003
Адрес: Москва
Сообщений: 4,630
Записей в блоге: 20
Цитата:
Сообщение от TanaTiX Посмотреть сообщение
Genzo, я вот считал, что загрузкой контента должен заниматься один класс/модуль, а воспроизведением другой. В отношении звуков допускаю что возможны загрузка и воспроизведение в одном классе/модуле в случае, когда нет необходимости дожидаться окончания загрузки файла для его воспроизведения.
Если я не прав, то в чем?
Очень дельная мысль по поводу потокового/эвент контента. Первыми были гифки. Пока грузились остальные кадры, можно было смотреть первый. А по мере загрузки можно было показывать очередной. Моя мысль проста. Должна быть единственная точка запроса контента — загрузчик, инкапсулирующий разные способы получения любого контента. Воспроизведение — задача вьюх (представлений).
__________________
Воспитан в TimeZero. Работаю в Mail.ru.

Старый 17.12.2011, 01:13
fish_r вне форума Посмотреть профиль Отправить личное сообщение для fish_r Посетить домашнюю страницу fish_r Найти все сообщения от fish_r
  № 8  
Ответить с цитированием
fish_r
 
Аватар для fish_r

блогер
Регистрация: Jan 2011
Сообщений: 1,162
Записей в блоге: 4
Цитата:
Сообщение от dimarik Посмотреть сообщение
Очень дельная мысль по поводу потокового/эвент контента. Первыми были гифки. Пока грузились остальные кадры, можно было смотреть первый. А по мере загрузки можно было показывать очередной. Моя мысль проста. Должна быть единственная точка запроса контента — загрузчик, инкапсулирующий разные способы получения любого контента. Воспроизведение — задача вьюх (представлений).
Вроде бы правильно, конечно. Но с другой стороны: если лоадер является ДО, то почему бы его не закинуть на сцену? И пусть грузит себе, если ему нужно, и по задаче от этого ДО ничего больше не требуется. Если Sound и загрузчик и звук, то почему это не использовать децентрализовано по отношению к приложению?
В чём вред, или скрытые грабли? Просто не по феншую?

Старый 17.12.2011, 15:00
TanaTiX вне форума Посмотреть профиль Отправить личное сообщение для TanaTiX Найти все сообщения от TanaTiX
  № 9  
Ответить с цитированием
TanaTiX
 
Аватар для TanaTiX

блогер
Регистрация: Feb 2008
Сообщений: 1,453
Записей в блоге: 4
fish_r, т.е. закинуть и будь что будет? Ни контроля, ни управления? А если таких объектов штук ..дцать? Тогда ко всему прочему мы дублируем функционал загрузки контента в каждом экземпляре класса, вместо того, чтоб поручить это одному классу/модулю, который будет управлять (помимо всего прочего) и количеством активных загрузок.

Вот кстати интересно (если говорить о звуках), если нет необходимости для начала воспроизведения дожидаться окончания загрузки, как лучше поступить в этом случае? Наверное все равно не оставлять все на волю случая и контролировать загрузчиком, если (что-то не нравится мне это "если") таких объектов гарантированно небольшое количество.

Ну и было бы интересно узнать кто как поступает на реальных проектах.
__________________
Ну все, теперь Забава м-о-я.
Гы-гы, а корабль мой!

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

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

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


 


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


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