forum.boolean.name

forum.boolean.name (http://forum.boolean.name/index.php)
-   3D-программирование (http://forum.boolean.name/forumdisplay.php?f=12)
-   -   Остановка звуков и проверка (http://forum.boolean.name/showthread.php?t=19760)

softcrasoft 23.03.2015 01:09

Остановка звуков и проверка
 
Приветствую, вот в цикле у меня есть условия:
If KeyHit(200) then
MoveEntity cub,0,0,1
PlaySound step
End If
И так далее...
Но ведь когда он будет врезатьс звук опять таки убдет играть, подскажите пожалуйста, как сделать проверку движится ли вообще объект, и если нет остановить звук? Чтоб он и не начал воспроизводиться?

Arton 23.03.2015 03:05

Ответ: Остановка звуков и проверка
 
В примерах блица найди deathisland.
+ поищи на форуме

Отличный пример. Только квадратные скобки замени на круглые.

kisaroff 23.03.2015 12:33

Ответ: Остановка звуков и проверка
 
PlaySoundChannel и StopSoundChannel. Вроде такие команды есть

Arton 23.03.2015 13:34

Ответ: Остановка звуков и проверка
 
Цитата:

Сообщение от kisaroff (Сообщение 294529)
PlaySoundChannel и StopSoundChannel. Вроде такие команды есть

Таких нету, есть: PlaySound() и StopChannel().

Nex 23.03.2015 15:45

Ответ: Остановка звуков и проверка
 
Цитата:

Сообщение от softcrasoft (Сообщение 294507)
Приветствую, вот в цикле у меня есть условия:
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

Заместо "..." пишешь функцию для проверки столкновения.

LLI.T.A.L.K.E.R. 23.03.2015 15:58

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

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

И нет зависимости что используется: встроенная коллизия, какой физический движок, и есть ли физика вообще.

softcrasoft 24.03.2015 01:02

Ответ: Остановка звуков и проверка
 
только вот что за эта функция ...

Leowey 24.03.2015 02:44

Ответ: Остановка звуков и проверка
 
Цитата:

Сообщение от softcrasoft (Сообщение 294577)
только вот что за эта функция ...

EntityCollided?
Прочти о ней с справке.

ABTOMAT 24.03.2015 03:49

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

Можно ещё проверять расстояние между двумя объектами, зная их координаты, расстояние будет равно корню квадратному из суммы квадратов их разностей.
Если расстояние получилось настолько маленькое, что можно считать, что они столкнулись, то выполнять действие.

Arton 24.03.2015 05:18

Ответ: Остановка звуков и проверка
 
Цитата:

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

Есть готовая функция — EntityDistance ( Entity, Entity ).

Что быстрее будет, блицевская функция, или "вручную"?

Nex 24.03.2015 08:03

Ответ: Остановка звуков и проверка
 
Цитата:

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

"ГГ подлетает от взрыва и издает звуки ходьбы"


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

vBulletin® Version 3.6.5.
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Перевод: zCarot