Плейлист

Программирование на Юнити.

Плейлист

Сообщение warr11r 05 фев 2010, 02:46

Задумал я в своей игре сделать плейлист, а то скучно ездить без фоновой музыки. Думал - зайду сюда или на оффорум и сразу найду готовое решение: ведь плейлист это попсовая штука,часто встречается и наверняка есть раличные варианты скриптов для него. Но меня ждало разочарование. Не считая нескольких неполноценных ошметков кода, мне не удалось найти ничего стоящего. Разочаровавшись в потерянном времени, сел я писать свой. А потом подумал - скрипт-то многим может пригодится, и решил - пусть в инете болтается хоть один пример, как такую хню присобачить.

Код: Выделить всё
var tracks : AudioClip[];
var songnameTime = 10;
private var played = false;
private var songname : String;

function Update(){
   if (!played)    // если песня не играет
      {
      played = true;   //щелкнуть переключатель
      audio.clip = tracks[Random.Range(0,tracks.Length)]; //выбрать случайную песню
      audio.Play(); //воспроизвести выбранную песню
      ShowName(); //показать название запущеной песни
      Wait(); //ждать ее окончания
      }
    if (Input.GetKeyDown (KeyCode.Tab))//переключить песню нажатием клавиши Tab
      {
      played = false; //щелкнуть переключатель назад
      audio.Stop(); //остановить песню
      }
}

function Wait(){
   yield WaitForSeconds (audio.clip.length * Time.timeScale); //дождаться окончания
    played = false; //и щелкнуть переключатель назад
}

function ShowName(){
   songname = audio.clip.name;
   yield WaitForSeconds (songnameTime * Time.timeScale); //время отображения названия
   songname = "";
}

function OnGUI(){
    GUI.Label (Rect (10, 10, 500, 20), songname); //показываем название песни игроку
}
Мудрость - это когда начинаешь понимать, что все время занимаешься какой-то х...ней.
Изображение
Аватара пользователя
warr11r
UNITрон
 
Сообщения: 310
Зарегистрирован: 06 июн 2009, 03:21
Откуда: Украина, Ровно
  • ICQ

Вернуться в Скрипты

Кто сейчас на конференции

Сейчас этот форум просматривают: GoGo.Ru [Bot] и гости: 6