|
|
Боковое движение (стрейфинг) - это
отличный способ ловко уходить от ракет или в движении просматривать боковые
пространства. Мы продемонстрируем, как реализовать этот режим с использованием
клавиш "стрелка вправо" и "стрелка влево". Здесь мы приводим только ту часть
кода, которая претерпела изменения по сравнению с предыдущим уроком. По мере
добавления новых возможностей в нашей игре, код становится слишком большим,
чтобы приводить его целиком. If
Rightkey()=1 Боковое движение реализуется с помощью команд "NewXValue" и "NewYValue", предназначенных для определения значений X# и Z# следующей позиции. Для определения координат перемещения влево, мы сначала вычитаем 90 градусов из текущего значения угла поворота камеры "CameraAngleY#", чтобы обозначить направление движения. Чтобы значение угла не превышало 360 градусов, мы применяем команду "WrapValue". Используя значение этого угла в командах "NewValue", мы определяем координаты точки, находящейся в 10 единицах пространственных координат левее. Новые координаты сохраняются в переменных "XTest" и "ZTest". Затем производится проверка этих переменных, чтобы убедиться, что новые значения находятся в пределах матрицы. Если проверка оканчивается успешно, то новые значения сохраняются в переменных "X#" и "Y#" и используются для перемещения камеры. Как вы помните из урока I:2, ось Y проходит от верхней к нижней части экрана, поэтому любой поворот вокруг оси Y будет параллельным по отношению к матрице. |