Извините, ничего не найдено.

Не расстраивайся! Лучше выпей чайку!
Регистрация
Справка
Календарь

Вернуться   forum.boolean.name > Программирование игр для компьютеров > Blitz3D > 3D-программирование

3D-программирование Вопросы, касающиеся программирования 3D мира

Ответ
 
Опции темы
Старый 23.03.2015, 01:09   #1
softcrasoft
Знающий
 
Регистрация: 21.03.2015
Сообщений: 262
Написано 6 полезных сообщений
(для 7 пользователей)
Остановка звуков и проверка

Приветствую, вот в цикле у меня есть условия:
If KeyHit(200) then
MoveEntity cub,0,0,1
PlaySound step
End If
И так далее...
Но ведь когда он будет врезатьс звук опять таки убдет играть, подскажите пожалуйста, как сделать проверку движится ли вообще объект, и если нет остановить звук? Чтоб он и не начал воспроизводиться?
(Offline)
 
Ответить с цитированием
Старый 23.03.2015, 03:05   #2
Arton
Быдлокодер
 
Аватар для Arton
 
Регистрация: 05.07.2009
Адрес: Проспит
Сообщений: 5,019
Написано 2,312 полезных сообщений
(для 5,349 пользователей)
Ответ: Остановка звуков и проверка

В примерах блица найди deathisland.
+ поищи на форуме

Отличный пример. Только квадратные скобки замени на круглые.
(Offline)
 
Ответить с цитированием
Старый 23.03.2015, 12:33   #3
kisaroff
Оператор ЭВМ
 
Аватар для kisaroff
 
Регистрация: 15.01.2015
Сообщений: 46
Написано 10 полезных сообщений
(для 24 пользователей)
Ответ: Остановка звуков и проверка

PlaySoundChannel и StopSoundChannel. Вроде такие команды есть
__________________
Путь осилит идущий.
(Offline)
 
Ответить с цитированием
Старый 23.03.2015, 13:34   #4
Arton
Быдлокодер
 
Аватар для Arton
 
Регистрация: 05.07.2009
Адрес: Проспит
Сообщений: 5,019
Написано 2,312 полезных сообщений
(для 5,349 пользователей)
Ответ: Остановка звуков и проверка

Сообщение от kisaroff Посмотреть сообщение
PlaySoundChannel и StopSoundChannel. Вроде такие команды есть
Таких нету, есть: PlaySound() и StopChannel().
(Offline)
 
Ответить с цитированием
Старый 23.03.2015, 15:45   #5
Nex
Гигант индустрии
 
Аватар для Nex
 
Регистрация: 13.09.2008
Сообщений: 2,893
Написано 1,185 полезных сообщений
(для 3,298 пользователей)
Ответ: Остановка звуков и проверка

Сообщение от softcrasoft Посмотреть сообщение
Приветствую, вот в цикле у меня есть условия:
If KeyHit(200) then
MoveEntity cub,0,0,1
PlaySound step
End If
И так далее...
Но ведь когда он будет врезатьс звук опять таки убдет играть, подскажите пожалуйста, как сделать проверку движится ли вообще объект, и если нет остановить звук? Чтоб он и не начал воспроизводиться?
Надо проверять врезался ли куб во что нибудь и в зависимости от этого играть звук или нет.
If KeyHit(200) then
MoveEntity cub,0,0,1
If ( ... ) PlaySound step
End If
Заместо "..." пишешь функцию для проверки столкновения.
(Offline)
 
Ответить с цитированием
Старый 23.03.2015, 15:58   #6
LLI.T.A.L.K.E.R.
Мастер
 
Аватар для LLI.T.A.L.K.E.R.
 
Регистрация: 24.06.2009
Адрес: Набережные Челны
Сообщений: 930
Написано 292 полезных сообщений
(для 504 пользователей)
Ответ: Остановка звуков и проверка

А я бы лучше так попробовал.
Если игрок нажал кнопку ходьбы, и если текущая позиция X и Y игрока отличается от предыдущей - значит он двигался.
Но проверять на проверку Z разницы в высоте - падал ли он (а не ходил)

Там и регулировать можно, если немножко сходил - звуки мелкого шага, и т.п.

И нет зависимости что используется: встроенная коллизия, какой физический движок, и есть ли физика вообще.
(Offline)
 
Ответить с цитированием
Старый 24.03.2015, 01:02   #7
softcrasoft
Знающий
 
Регистрация: 21.03.2015
Сообщений: 262
Написано 6 полезных сообщений
(для 7 пользователей)
Ответ: Остановка звуков и проверка

только вот что за эта функция ...
(Offline)
 
Ответить с цитированием
Старый 24.03.2015, 02:44   #8
Leowey
Знающий
 
Аватар для Leowey
 
Регистрация: 08.11.2010
Адрес: Москва
Сообщений: 285
Написано 78 полезных сообщений
(для 182 пользователей)
Ответ: Остановка звуков и проверка

Сообщение от softcrasoft Посмотреть сообщение
только вот что за эта функция ...
EntityCollided?
Прочти о ней с справке.
(Offline)
 
Ответить с цитированием
Старый 24.03.2015, 03:49   #9
ABTOMAT
Ференька
 
Аватар для ABTOMAT
 
Регистрация: 26.01.2007
Адрес: улица Пушкина дом Колотушкина
Сообщений: 10,741
Написано 5,461 полезных сообщений
(для 15,675 пользователей)
Ответ: Остановка звуков и проверка

EntityCollided сработает только если прописаны коллизии и делается UpdateWorld в цикле (а этого, наверное, не делается).

Можно ещё проверять расстояние между двумя объектами, зная их координаты, расстояние будет равно корню квадратному из суммы квадратов их разностей.
Если расстояние получилось настолько маленькое, что можно считать, что они столкнулись, то выполнять действие.
__________________
Мои проекты:
Анальное Рабство
Зелёный Слоник
Дмитрий Маслов*
Различие**
Клюква**

* — в стадии разработки
** — в стадии проектирования
Для проектов в стадии проектирования приведены кодовые имена

(Offline)
 
Ответить с цитированием
Старый 24.03.2015, 05:18   #10
Arton
Быдлокодер
 
Аватар для Arton
 
Регистрация: 05.07.2009
Адрес: Проспит
Сообщений: 5,019
Написано 2,312 полезных сообщений
(для 5,349 пользователей)
Ответ: Остановка звуков и проверка

Сообщение от ABTOMAT Посмотреть сообщение
Можно ещё проверять расстояние между двумя объектами, зная их координаты, расстояние будет равно корню квадратному из суммы квадратов их разностей.
Если расстояние получилось настолько маленькое, что можно считать, что они столкнулись, то выполнять действие.
Есть готовая функция — EntityDistance ( Entity, Entity ).

Что быстрее будет, блицевская функция, или "вручную"?
(Offline)
 
Ответить с цитированием
Старый 24.03.2015, 08:03   #11
Nex
Гигант индустрии
 
Аватар для Nex
 
Регистрация: 13.09.2008
Сообщений: 2,893
Написано 1,185 полезных сообщений
(для 3,298 пользователей)
Ответ: Остановка звуков и проверка

Сообщение от LLI.T.A.L.K.E.R. Посмотреть сообщение
А я бы лучше так попробовал.
Если игрок нажал кнопку ходьбы, и если текущая позиция X и Y игрока отличается от предыдущей - значит он двигался.
Но проверять на проверку Z разницы в высоте - падал ли он (а не ходил)
"ГГ подлетает от взрыва и издает звуки ходьбы"
(Offline)
 
Ответить с цитированием
Ответ


Опции темы

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


Часовой пояс GMT +4, время: 18:56.


vBulletin® Version 3.6.5.
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Перевод: zCarot
Style crйe par Allan - vBulletin-Ressources.com