Автор: werewolf
|
06.04.2010 15:26 |
Код гибкого плейлиста для воспроизведения фоновой музыки. Огромное спасибо Byte за помощь в доработке. Идея возникла в ходе работы по озвучке "Лабиринта страха", поскольку все скрипты плейлистов, которые я нашел, были недостаточно гибкими - по сути любой скрипт нужно было полностью переделывать под себя. После ряда эксперементов у меня получилось сделать код, который можно использовать в любом проекте. В основе плейлиста лежит понятие темы - списка файлов, которые проигрываются один за другим. Количество тем в игре и файлов в теме не ограничено. Плейлист также запоминает текущий файл в теме при смене темы и при выключении музыки. Поддерживаеться изменение громкости. Для использования плейлиста в игре нужно сделать следующее:
- В локацию-счетчик добавить код плеера (весь код из локации counter)
- Сделать списки файлов в темах. Для этого нужно для каждой темы создать маcсив с именем $tracklist_название темы. То есть для темы default название массива должно быть $tracklist_default. Примеры списков можно найти в локации init_music.
- Осталось только включить музыку и инициировать тему. Для этого в код добавляем
music_on=1 volume = 100 $music_theme = 'default'
Переменная music_on отвечает за включение/выключение плейлиста. Выключить плейлист можно также с помощью $music_theme = ''. С помощью переменной volume изменяется громкость проигрывания. В переменной $music_theme храниться название текущей темы. При ее изменении останавливается проигрывание текущей темы (при этом запоминается файл, на котором было остановлено проигрывание) и начинается прогрывание следующей.
|