|
3D-программирование Вопросы, касающиеся программирования 3D мира |
27.05.2009, 09:15
|
#1
|
Разработчик
Регистрация: 28.12.2008
Адрес: Алматы
Сообщений: 486
Написано 252 полезных сообщений (для 1,160 пользователей)
|
Проект (нужны советы).
Имею несколько звуковых файлов (щебетания птиц, шум листвы, и т.д) так вот как проигрывать их поочередно, и с определенным интервалом. Blitz юзаю недавно так что не пинайте если вопрос где то поднимался.
Еще вопрос про звук при ходьбе и KeyDown звук накладывается на себя, а при KeyHit проигрывается всего раз не подскажите реализацию оного.
|
(Offline)
|
|
Эти 3 пользователя(ей) сказали Спасибо Fatalix3d за это полезное сообщение:
|
|
27.05.2009, 15:04
|
#2
|
Ференька
Регистрация: 26.01.2007
Адрес: улица Пушкина дом Колотушкина
Сообщений: 10,741
Написано 5,461 полезных сообщений (для 15,675 пользователей)
|
Ответ: Поект (нужны советы).
Скрин кошерен! Тени - лайтмап? Или PSSM (если Xors?) Глоу какой? Ашадов? Фаст Екст? Свой? Дай побегать =)
Насчёт поочерёжных звуков я бы сделал так.
Массив с хендлами звуков, с моментами времени с последнего старта и интервал.
const N=10
Dim AmbientSnds[N,2]
AmbientSnds[0,0]=LoadSound(...) ; хендл
AmbientSnds[0,1]=10000 ; интервал
далее в обработке
For i=0 to N
If AmbientSnds[i,0]<> 0 then ; Если звука нет то обрабатывать уже нечего, выходим
If AmbientSnds[i,1]+AmbientSnds[i,2]<Millisecs() then
PlaySound(AmbientSnds[i,0])
AmbientSnds[i,2] = Millisecs()
end if
else
exit
end if
next
Еще вопрос про звук при ходьбе и KeyDown звук накладывается на себя
|
Потому что каждый тик (читай: примерно 60 раз в секунду) звук проигрывается заново (потому что нажата клавиша). Естественно получается какофония. Решение - те же интервалы. Перечитай мой код и попробуй подстроить его под ходьбу.
З.Ы. Ток не копипасть код, я его даже не проверял, в браузере набрал
__________________
Мои проекты:
Анальное Рабство
Зелёный Слоник
Дмитрий Маслов*
Различие**
Клюква**
* — в стадии разработки
** — в стадии проектирования
Для проектов в стадии проектирования приведены кодовые имена
|
(Offline)
|
|
Эти 2 пользователя(ей) сказали Спасибо ABTOMAT за это полезное сообщение:
|
|
27.05.2009, 18:24
|
#3
|
Разработчик
Регистрация: 14.12.2008
Адрес: Томск
Сообщений: 530
Написано 270 полезных сообщений (для 883 пользователей)
|
Ответ: Поект (нужны советы).
Блин, классный скриншот!
И ты Blitz3D, говоришь, недавно начал изучать? Не верю!
По поводу звуков - АВТОМАТ уже все сказал.
|
(Offline)
|
|
27.05.2009, 22:09
|
#4
|
ПроЭктировщик
Регистрация: 10.03.2009
Адрес: Казахстан->Кустанай
Сообщений: 147
Написано 12 полезных сообщений (для 23 пользователей)
|
Ответ: Поект (нужны советы).
Тени ФастЕкст стопудофф =)
|
(Offline)
|
|
28.05.2009, 00:34
|
#5
|
ПроЭктировщик
Регистрация: 03.05.2009
Адрес: г.Волгоград
Сообщений: 136
Написано 32 полезных сообщений (для 53 пользователей)
|
Ответ: Поект (нужны советы).
Да ну ребят это же элементарно на счет звука...
Global Ambient_chl, Ambient_snd
Ambient_snd=LoadSound("sound\Ambient.mp3")
If Not ChannelPlaying (Ambient_chl) Then
Ambient_chl=PlaySound (Ambient_snd)
EndIf
|
Вопщем если перевести то когда нет звука в канале "Ambient_chl" начинается воспроизводится звук "Ambient_snd" и без всяких интервалов
так же можно это использовать и при нажатии клавиш к примеру ходьбы)
|
(Offline)
|
|
Сообщение было полезно следующим пользователям:
|
|
28.05.2009, 09:13
|
#6
|
Знающий
Регистрация: 12.07.2007
Сообщений: 297
Написано 50 полезных сообщений (для 133 пользователей)
|
Ответ: Поект (нужны советы).
Не, лучше циклить по времени. И чтоб луп имел плавное наростание громкости вначале и спад в конце, fade in/fade out, тогда будет незаметен переход.
|
(Offline)
|
|
Сообщение было полезно следующим пользователям:
|
|
28.05.2009, 12:30
|
#7
|
Ференька
Регистрация: 26.01.2007
Адрес: улица Пушкина дом Колотушкина
Сообщений: 10,741
Написано 5,461 полезных сообщений (для 15,675 пользователей)
|
Ответ: Поект (нужны советы).
Да решений-то много... кстати если
If Not ChannelPlaying (Ambient_chl) Then
Ambient_chl=PlaySound (Ambient_snd)
EndIf
То например птицы будут щебетать не умолкая, а вдруг надо чтобы это происходило раз в N сек?
__________________
Мои проекты:
Анальное Рабство
Зелёный Слоник
Дмитрий Маслов*
Различие**
Клюква**
* — в стадии разработки
** — в стадии проектирования
Для проектов в стадии проектирования приведены кодовые имена
|
(Offline)
|
|
Сообщение было полезно следующим пользователям:
|
|
28.05.2009, 15:52
|
#8
|
Разработчик
Регистрация: 28.12.2008
Адрес: Алматы
Сообщений: 486
Написано 252 полезных сообщений (для 1,160 пользователей)
|
Ответ: Поект (нужны советы).
Вот спасибо за советы! Тени FastEx конечно (отличные тени) Будут вопросы буду писать в эту ветку дабы не засорять форум глупыми вопросами.
P.s "поект" - вот я грамотей!)
|
(Offline)
|
|
28.05.2009, 17:31
|
#9
|
Ференька
Регистрация: 26.01.2007
Адрес: улица Пушкина дом Колотушкина
Сообщений: 10,741
Написано 5,461 полезных сообщений (для 15,675 пользователей)
|
Ответ: Проект (нужны советы).
P.s "поект" - вот я грамотей!)
|
исправил
__________________
Мои проекты:
Анальное Рабство
Зелёный Слоник
Дмитрий Маслов*
Различие**
Клюква**
* — в стадии разработки
** — в стадии проектирования
Для проектов в стадии проектирования приведены кодовые имена
|
(Offline)
|
|
31.05.2009, 03:37
|
#10
|
Нуждающийся
Регистрация: 05.07.2008
Сообщений: 53
Написано 6 полезных сообщений (для 7 пользователей)
|
Ответ: Проект (нужны советы).
Знаю, что не в тему, но раз уж подняли тему, то птицы преимущественно со случайными перерывами.
Поэтому бы вот так изменил код:
const N=10
Dim AmbientSnds[N,3]
AmbientSnds[0,0]=LoadSound(...) ; хендл
AmbientSnds[0,1]=10000 ; к интервалу будет добавляться случайное число в пределах этого
AmbientSnds[0,1]=0 ;обязательный интервал
For i=0 to N
If AmbientSnds[i,0]<> 0 then ; Если звука нет то обрабатывать уже нечего, выходим
If rand(AmbientSnds[i,1])+AmbientSnds[i,3]+AmbientSnds[i,2]<Millisecs() then
PlaySound(AmbientSnds[i,0])
AmbientSnds[i,2] = Millisecs()
end if
else
exit
end if
next
З.Ы. не знаю, может где-то ошибки, давно не работал с Блитцем.
__________________
...
|
(Offline)
|
|
Сообщение было полезно следующим пользователям:
|
|
17.06.2009, 13:21
|
#11
|
Оператор ЭВМ
Регистрация: 17.06.2009
Сообщений: 34
Написано 0 полезных сообщений (для 0 пользователей)
|
Ответ: Проект (нужны советы).
подскажите о_О как сделать такое свечение с неба, как на скриншоте... меня это ооочень радует...
|
(Offline)
|
|
17.06.2009, 14:02
|
#12
|
Элита
Регистрация: 16.01.2008
Сообщений: 1,800
Написано 958 полезных сообщений (для 3,833 пользователей)
|
Ответ: Проект (нужны советы).
Гмммм...тебе это еще рановато,но не мне решать)
1. Можеш подключить библиотеку Ashadow( http://andreyman.ucoz.ru) к Blitz3d
2. Можеш подключить библиотеку Fastext http://www.fastlibs.com к Blitz3d
3.Наконец зделать сам.Но скорее всего результат будет первым словом третего пункта.Но поробуй ( http://www.forum.boolean.name/showthread.php?t=8445)
|
(Offline)
|
|
Сообщение было полезно следующим пользователям:
|
|
17.06.2009, 17:05
|
#13
|
Оператор ЭВМ
Регистрация: 17.06.2009
Сообщений: 34
Написано 0 полезных сообщений (для 0 пользователей)
|
Ответ: Проект (нужны советы).
а как при создании игры допустим, подключать ? или они сами как бе будут?
|
(Offline)
|
|
17.06.2009, 17:28
|
#14
|
Элита
Регистрация: 16.01.2008
Сообщений: 1,800
Написано 958 полезных сообщений (для 3,833 пользователей)
|
Ответ: Проект (нужны советы).
Внутри прилагаются семплы и справки.По ним все можно розобрать.
|
(Offline)
|
|
17.06.2009, 18:34
|
#15
|
Ференька
Регистрация: 26.01.2007
Адрес: улица Пушкина дом Колотушкина
Сообщений: 10,741
Написано 5,461 полезных сообщений (для 15,675 пользователей)
|
Ответ: Проект (нужны советы).
Лучше сначала изучи простой Blitz3D, а то в глюках утонешь.
__________________
Мои проекты:
Анальное Рабство
Зелёный Слоник
Дмитрий Маслов*
Различие**
Клюква**
* — в стадии разработки
** — в стадии проектирования
Для проектов в стадии проектирования приведены кодовые имена
|
(Offline)
|
|
Эти 2 пользователя(ей) сказали Спасибо ABTOMAT за это полезное сообщение:
|
|
Ваши права в разделе
|
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения
HTML код Выкл.
|
|
|
Часовой пояс GMT +4, время: 02:21.
|