Хонич А.
Как самому создать трехмерную игру
стр. 164

соблюдении условий столкновения на заданном пути.

В этом-то и заключается универсальность данного подхода. Функцию CheckWayRun можно использовать при стрельбе на большие расстояния. Только флаг при этом будет равеи трем, ну и, конечно, функция исполнения (6-ой параметр) будет другой.

Для анализа границ стен функция CheckWay Run использует структуру BlockMap, которую мы описали в главе 7.10. В этом случае анализируется каждый блок, через который проходит путь (линия).

Хорошенько запомните такой подход! Он очень может вам пригодиться при написании ваших собственных игр.

Может возникнуть вопрос: зачем данный алгоритм использовать в функции PressUse? Ну при стрельбе - понятно. Там необходимо анализировать большие

нространства. Но при нажатии SPACE эффект достигается лишь при приближении вплотную к стене. Но не тут-то было! Не обязательно приближаться вплотную к стене для того, чтобы нажатие SPACE возымело действие. Имеется определенное максимально допустимое расстояние от стены. И каким бы малым ни было это расстояние, нет гарантии того, что полупившаяся линия (путь) находится в одном блоке. Чаще всего как раз это не так. Другой вопрос - это то, что нз функции PressUse в большинстве случаев функция CheckWay Run работает гораздо быстрее, нежели при стрельбе, т.к. количество анализируемых блоков в первом случае, как правило, меньше.


Итак, приводим исходник функции CheckWay Run:

Новости
Сценарист Uncharted рассказала о проблемах одиночных игр
Над игрой работала Эми Хенниг, сценарист серий Uncharted и Legacy of Kain.
Готовится выход дополнения «Апокалипсис» для Battlefield 1
Компания Electronic Arts, которая занимается изданием компьютерных игр, и студия-разработчик DICE готовят выход дополнения «Апокалипсис» для игрового проекта Battlefield 1. В дополненной версии появится пять новых карт.