FatalBlade
offline
Опыт:
7,398Активность: |
Функция вызывающая сама себя - Желательно ли использовать следующую функцию?
Функция выбирает номер ячейки массива, и проигрывает саундтрек который в этой ячейке находится. Из другого массива он берёт реальное число - длинну саундтрека. Затем запускается глобальный таймер на время длинны саундтрека, а по истечению таймера функция опять запускает саму себя, и проделывает всё заново. Вот:
Вопрос: не будет ли такая функция ущербной? Это вроде как называется рекурсией, не? |
21.06.2012, 23:12 | #1
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
FatalBlade
offline
Опыт:
7,398Активность: |
StarChild:
хм. Да действительно нужно, не подумал. Но помоему это можно сделать с ещё одной глобалкой по типу Строка. Думаю тогда не нужна ещё одна функция. |
21.06.2012, 23:47 | #2
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
quq_CCCP
Я белый и пушистый!
online
Опыт:
94,553Активность: |
FatalBlade, а что мешает юзать паразитную функцию с одной только строчкой call ExcuteFunc("Имя твоей функции") |
22.06.2012, 02:18 | #3
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
FatalBlade
offline
Опыт:
7,398Активность: |
В конце я решил сделать с добавлением глобалки - интежера. Та же функция. Вот так:
То есть если выбранный саундтрек был только что проигран, активируется таймер на 0.33 секунды, и функция запускается снова. Отредактировано FatalBlade, 22.06.2012 в 03:07. |
22.06.2012, 02:27 | #4
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
J64_
offline
Опыт:
4,724Активность: |
StarChild:
Эта функция может вызываться бесконечно (почти). вот лучше:
|
22.06.2012, 06:24 | #5
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
Doc
online
Опыт:
63,163Активность: |
FatalBlade, лол и если рандом совпадет у тебя в колонках будет тишина, класс. Judycaster64, бред, старчайлд все правильно написал. |
22.06.2012, 13:02 | #6
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
FatalBlade
offline
Опыт:
7,398Активность: |
Doc:
Всего на 0.33 секунды. Потом функция запускается заново, и выбирается другой саундтрек. Может опять совпадёт... ну ок, ещё 0.33 секунды, и того 0.66 секунд. Третий раз совпадёт? Да это уже почти не реально. И даже если вопреки теории вероятности такое произойдёт, то мы подождём ещё 0.33 секунды. И даже в таком случае, возможному только в законах Мерфи, мы будем ждать всего 1 секунду, чего игрок даже не заметит. ))) |
22.06.2012, 16:31 | #7
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
J64_
offline
Опыт:
4,724Активность: |
Doc: объяснись, да подробнее.
оказывается одну строчку забыл. |
22.06.2012, 20:38 | #8
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
FatalBlade
offline
Опыт:
7,398Активность: |
Народ. Подскажите плз, почему у некоторых игроков данный алгоритм с музыкой работает, а у некоторых нет? У тех что не работает, проигрывается стандартная варкрафтовская музыка. Зависит от расы. За андедов играет то что я хочу, а вот за людей стандартная. В чём дело? Как это исправить? Отредактировано FatalBlade, 24.06.2012 в 16:20. |
24.06.2012, 16:06 | #9
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|