| Рандомная музыка | 
|  | 
| 
| Shoote_of | Дата: Вторник, 10 Июня 2014, 22:53 | Сообщение # 1 |  |   был не раз Сейчас нет на сайте | Суть в чём, в игре есть что-то типо радио. Как сделать так что бы из 5 композиций, включалась одна рандомная, но после того как она закончилась, включалась другая но тоже рандомная.
 То есть: есть 5 композиций, включается одна, после завершения её, из тех же 5 включалась другая и так до бесконечности.
 В репу +
   
 "У кого палка, тот и Король..." - ©я
 Разрабатываю игру!
 Не буди программиста, ему код снится!
 |  |  |  |  | 
| 
| Spyro23 | Дата: Вторник, 10 Июня 2014, 23:30 | Сообщение # 2 |  |   Black Snowflake Games Сейчас нет на сайте | Если бесконечно, то заносить только что кончившуюся композицию в переменную, выбрать рандомно следующую, сравнить с переменной, если равны - снова рандомно выбрать. 
 Black Snowflake Games
 |  |  |  |  | 
| 
| aFriend | Дата: Вторник, 10 Июня 2014, 23:38 | Сообщение # 3 |  | участник Сейчас нет на сайте | Spyro23, уже сделал, слушаю что получилось   
 Добавлено (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 Грозный Сейчас нет на сайте | Хорошо. Но зачем это? 
 
   |  |  |  |  |