forum.boolean.name

forum.boolean.name (http://forum.boolean.name/index.php)
-   Полезные функции (http://forum.boolean.name/forumdisplay.php?f=17)
-   -   Передвижение с лифтами(Исходник). (http://forum.boolean.name/showthread.php?t=15064)

Gector 05.07.2011 17:27

Передвижение с лифтами(Исходник).
 
Вложений: 1
Всем привет.
Мне таки удалось сделать на Блице корректное платформенное передвижение игрока с лифтами.
Прошу прощения что исходник без комментариев. Вместо этого я коротко изложу принцип.
Передвижение.
Столкновения применяются лишь для стен. Вместо столкновений с землей здесь применяется LinePick(). Он проверяет есть ли под игроком земля вообще. Если она есть, то в "пикнутые" координаты ставится точка (в примере куб), от которой считается расстояние до земли. Если расстояние равно нужному то скорость по Y обнуляется.
Платформы.
Тот же LinePick определяет тип земли под игроком. Если объект под ним платформа и расстояние до земли равно 2, то игроку добавляется скорость платформы.
Примечание.
1) В примере растояние до земли равно 2.01, т.к. радиус равен 2 и столкновение с уровнем дает погрешность равную .01. Не знаю почему).
2) Радиус LinePick должен быть меньше радиуса игрока(EntityRadius) иначе он будет "лазать по стенам".
3) Есть некоторое подергивание при смене направления платформы но оно не сильно заметно.
4) Таким же образом можно сделать "раздавливание" игрока). Достаточно сделать LinePick вверх и измерить дистанцию между верхней и нижней точкой.

Вот и всё. Надеюсь кому на что сгодится).
Отдельное спасибо Raion'у.) Подал отличную идею.


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

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