|
|
Sync
On Rem
Создаем матрицу Rem
Текстурируем матрицу Rem
Создаем объект rem
Устанавливаем случайные значения для вершин матрицы
Rem
Основной цикл Rem
Сохраняем угол объекта Rem
Управление перемещением камеры If
Leftkey()=1 then Yrotate object 10,Wrapvalue(AngleY#-5)
X# =
Object position x(10) Position object 10,X#,Y#+12.5,Z# CameraZ#
= Newzvalue(Z#,AngleY#-180,100) Point
camera X#,Y#+25,Z# Эта программа позволяет пользователю перемещать текстурированную сферу по матрице при помощи клавиатуры. Мы начнем этот урок с описания простой служебной команды. print screen fps() "Screen Fps()" является полезной командой, с помощью которой можно узнать, с какой скоростью происходит обновление экрана. Попробуйте выставить значение синхронизации 0 и запустите программу. Вы увидите число на экране, показывающее, сколько раз в секунду происходит обновление экрана. Если частота обновления на вашей видеокарте привязана к частоте обновления монитора, вы не сможете узнать максимальную скорость обновления, которую способна выдавать ваша видеокарта. Некоторые видеокарты позволяют отключать синхронизацию ("VSync"), при этом экран обновляется с максимально возможной скоростью. X# =
Object position x(10) Position object 10,X#,Y#+12.5,Z# CameraZ#
= Newzvalue(Z#,AngleY#-180,100) Как и в предыдущем уроке, для нахождения высоты матрицы в определенном месте мы используем команду "Get Ground Height". Здесь мы используем эту команду дважды: один раз для того, чтобы определить высоту в месте, где располагается сфера, и второй раз для того, чтобы определить высоту в том месте, где располагается камера. Вы заметите, что оставшаяся часть кода такая же, как и в предыдущем уроке. Единственное, что мы здесь изменили - это добавили значение Y#. Попробуйте использовать выражение "Rem", чтобы закомментировать следующую строку кода: CameraY# = Get Ground Height(1,CameraX#,CameraZ#)
А в строке: Position camera CameraX#,CameraY#+50,CameraZ# замените переменную CameraY# на Y# и
посмотрите, как это отражается на поведении камеры. |