Цель урока: ознакомление с командами, создающими матрицу.
Rem Устанавливаем синхронизацию
Sync On
Sync Rate 30
Rem Создаем матрицу
Make Matrix 1,2000,2000,50,50
Rem mY - переменная для хранения высоты матрицы
mY=100
Rem Помещаем камеру над матрицей
Position Camera 0,1000,0
Rem Основной цикл
Do
Rem Управление камерой с клавиатуры
If Upkey()=1 then Move camera 10
If Downkey()=1 then Move camera -10
Rem Ввод для заполнения матрицы случайными значениями
If Spacekey()=1 then randomize matrix 1,mY
If Leftkey()=1 then mY=mY+1
If Rightkey()=1 then mY=mY-1
If mY < 1 then mY =1
Rem Направляем камеру в центр матрицы
Point Camera 1000,0,1000
Rem Обновляем экран
Sync
Loop
Этот урок познакомит вас с командами, создающими матрицу. Матрица часто используется для создания объекта местности. Вы можете легко создавать горы, пологие холмы, пещеры и океаны при помощи нескольких строк кода. Помните, если вы встретите незнакомую команду без объяснений в данном руководстве, просмотрите предыдущие руководства или обратитесь за помощью к справочной системе DarkBASIC. Приведенная выше простая программа создает матрицу и позволяет вам масштабировать ее в изометрический проекции с использованием клавиш "стрелка вверх" и "стрелка вниз". Клавиши-стрелки и пробел позволяют вам управлять высотой и видом матрицы.
Make Matrix 1,2000,2000,50,50
Первая новая команда, которую мы обсудим - это команда Make Matrix. Она создает объект "Матрица" в вашей 3D-сцене. Что означают параметры этой команды? Первое число после команды - это номер создаваемой матрицы. Этот номер, как и в командах управления объектами и изображениями, является уникальным идентификатором. Он позволяет вам создавать и манипулировать многочисленными матрицами в 3D-сцене. Последующие два числа - это размеры матрицы, которую вы хотите создать, в пространственных координатах сцены. Они представляют значения координат X и Y. В большинстве случаев эти два значения будут одинаковыми, но мы уверены, что вы сможете найти применение для матриц различных размеров. Следующие два числа - это количество сегментов матрицы. В этом примере матрица размером 2000х2000 разделена в каждом направлении на 50 сегментов (размер ячейки получается 40x40).
If Spacekey()=1 then Randomize Matrix 1,mY
Эта строка кода знакомит нас с командой Randomize Matrix. При нажатии на пробел осуществляется вызов этой команды, которая задает случайное значение высоты каждой из вершин матрицы в диапазоне между 0 и числом, содержащимся в переменной mY. Первое число после команды -- это номер изменяемой матрицы. Второе число - это диапазон случайного значения для изменения высоты матрицы. В программе вы можете изменить значение переменной mY, нажимая клавиши "стрелка вверх" и "стрелка вниз". Нажатие на клавишу "пробел" позволяет изменить матрицу, что дает вам возможность создавать крутые пики гор или пологие холмы.
Попытайтесь изменять значения параметров в команде Make Matrix и посмотреть, каким образом они влияют на величину и размеры матрицы.