Четверг, 28 Марта 2024, 11:32

Приветствую Вас Гость

[ Новые сообщения · Игроделы · Правила · Поиск ]
  • Страница 1 из 1
  • 1
Форум игроделов » Конструкторы игр и лёгкие в освоении системы разработки игр » Game Maker » Рандомная музыка (После одной музыки включалась другая и так по кругу)
Рандомная музыка
Shoote_ofДата: Вторник, 10 Июня 2014, 22:53 | Сообщение # 1
был не раз
Сейчас нет на сайте
Суть в чём, в игре есть что-то типо радио.
Как сделать так что бы из 5 композиций, включалась одна рандомная, но после того как она закончилась, включалась другая но тоже рандомная.
То есть: есть 5 композиций, включается одна, после завершения её, из тех же 5 включалась другая и так до бесконечности.
В репу + smile


"У кого палка, тот и Король..." - ©я
Разрабатываю игру!
Не буди программиста, ему код снится!
Spyro23Дата: Вторник, 10 Июня 2014, 23:30 | Сообщение # 2
Black Snowflake Games
Сейчас нет на сайте
Если бесконечно, то заносить только что кончившуюся композицию в переменную, выбрать рандомно следующую, сравнить с переменной, если равны - снова рандомно выбрать.

Black Snowflake Games
aFriendДата: Вторник, 10 Июня 2014, 23:38 | Сообщение # 3
участник
Сейчас нет на сайте
Spyro23, уже сделал, слушаю что получилось biggrin

Добавлено (10.06.2014, 23:38)
---------------------------------------------
Получилось что-то такое
в create
Код

track[0] = sound0
track[1] = sound1
track[2] = sound2
track[3] = sound3
track[4] = sound4

i = irandom(4)
sound_play(track[i])
last_track = i

step
Код

if(!sound_isplaying(track[0]) and !sound_isplaying(track[1]) and !sound_isplaying(track[2]) and !sound_isplaying(track[3]) and !sound_isplaying(track[4])){
i = irandom(4)
if(last_track = i){
i = irandom(4)
}else{
sound_play(track[i])
last_track = i
}
}

но это не работает


Сообщение отредактировал aFriend - Вторник, 10 Июня 2014, 23:38
OverdraveДата: Среда, 11 Июня 2014, 00:02 | Сообщение # 4
частый гость
Сейчас нет на сайте
aFriend, доработал мальца:

Create
Код
track[0] = sound0  
track[1] = sound1  
track[2] = sound2  
track[3] = sound3  
track[4] = sound4  

randomize()
i = irandom(4)  
audio_play_sound(track[i],1,0)  
last_track = i

timing=0


В Step
Код
randomize()
timing+=1
if timing/room_speed>=audio_sound_length(track[i]) //Можно сделать задержку, если приписать к левой части равенства, например +2 (задержка в 2 секунды)
{  
i = irandom(4)  
if(last_track = i){  
i = irandom(4)  
}else{  
timing=0
audio_play_sound(track[i],1,0)
last_track = i  
}  
}
Shoote_ofДата: Среда, 11 Июня 2014, 00:22 | Сообщение # 5
был не раз
Сейчас нет на сайте
Overdrave, это ты в GM STUDIO?

"У кого палка, тот и Король..." - ©я
Разрабатываю игру!
Не буди программиста, ему код снится!
aFriendДата: Среда, 11 Июня 2014, 00:26 | Сообщение # 6
участник
Сейчас нет на сайте
Overdrave, справка гамака 8.0, поэтому код глупый)
Shoote_of, видимо, это GMS
Shoote_ofДата: Среда, 11 Июня 2014, 00:55 | Сообщение # 7
был не раз
Сейчас нет на сайте
Получилось!
В Create - объекту
Код

track[0] = sound1   
track[1] = sound2  
track[2] = sound3   
track[3] = sound4   
track[4] = sound5  

randomize()  
i = irandom(4)   
sound_play(track[i])   
last_track = i  

timing=0

В Step
Код


if(!sound_isplaying(track[0]) and !sound_isplaying(track[1]) and !sound_isplaying(track[2]) and !sound_isplaying(track[3]) and !sound_isplaying(track[4])){  
i = irandom(4)  
if(last_track = i){  
i = irandom(4)  
}else{  
sound_play(track[i])  
last_track = i  
}  
}  


"У кого палка, тот и Король..." - ©я
Разрабатываю игру!
Не буди программиста, ему код снится!
KaramBinoДата: Среда, 11 Июня 2014, 10:00 | Сообщение # 8
Karam Грозный
Сейчас нет на сайте
Хорошо. Но зачем это?

Форум игроделов » Конструкторы игр и лёгкие в освоении системы разработки игр » Game Maker » Рандомная музыка (После одной музыки включалась другая и так по кругу)
  • Страница 1 из 1
  • 1
Поиск:

Все права сохранены. GcUp.ru © 2008-2024 Рейтинг