II. Firemonkey 3DApplication – 15 мин




С версии Delphi XE2, помимо простых приложений VCL Application нам стали доступны следующие виды приложений:

  • FireMonkey HD Application - 2D-приложение
  • FireMonkey 3D Application - приложение с 3D-графикой
  • FireMonkey Mobile Application - 2D-приложение приложение для iOS/Android/Mac

FireMonkey (FMX) — GUI-библиотека, использующая возможности графического процессора. Является кроссплатформенной: поддерживаются Windows, Mac OS, Apple iOS и Android. Используя возможности Pixel Shader 2.0 FireMonkey позволяет обогащать графический интерфейс программ широким набором визуальных эффектов. Даёт возможность строить пользовательские масштабируемые векторные и 3D-интерфейсы. Имеются встроенные разнообразные методы анимирования компонентов, работа с векторной графикой. FireMonkey 3D - приложение для настольных и мобильных операционных систем, создаваемое: "File -> New -> FireMonkey 3D Application" и при малых знаниях 2D и 3D графики позволяющее разработать как простые, так и профессиональные приложения, игры и прочее.

 

Пример 1. Вращающаяся планета «Земля». Для того, чтобы cсоздать подобное 3D приложение не понадобится знаний о DirectX или OpenGL. Все что нам нужно это правильно разместить компоненты, настроить свойства и написать пару строк кода для вращения планеты. Создадим новый проект, сохраним его в новой папке и в палитре компонентов выберем закладку «3D Shapes», а так как земля имеет овальную форму то выберем компонент TSphere и разместим его на форме.

 

 

Теперь изменим его размеры изменив значения свойств: Depth на 10, Width на 10, Height на 10, а так же SubdivisionsAxes и SubdivisionsHeight на 50.

 

 

После того, как форма сферы готова, из нее можно делать модель планеты «Земля». Чтобы сделать модель планеты нам понадобится текстура в виде отдельного изображения (ее можно найти в Internet).

 

Для выбора текстуры используем компонент TextureMaterialsSource из закладки Materials. Изменим текстуру, выбрав в открывшемся окне сохраненное изображение после нажатия кнопки Load в Bitmap Editor свойства Texture строки Edit.

 

 

 

Для применения текстуры к модели измените свойство Material Source компонента Sphere1 на TextureMaterialSource1.

 

 

Для того, чтобы правильно написать программу ответьте на следующие вопросы

- Какое событие Form1 нужно выбрать для управления клавишами с клавиатуры для перемещения объекта?

Ответ: событие - OnKeyDown

- Перечислите подписи осей координат объемной фигуры в пространстве?

Ответ: x,y,z

- Какие коды клавиш вы знаете?

Ответ: vk_right=39, vk_left=37, vk_up=38, vk_down=40

Сформулируйте текст программы, основанный на разветвляющемся алгоритме проверки нажатой клавиши и в зависимости от выбора изменения координаты модели в трехмерном пространстве? Пример. Откройте событие OnKeyDown и напишите следующий код

if key=38 then sphere1.Position.Z:=sphere1.Position.Z+10;

if key=40 then sphere1.Position.Z:=sphere1.Position.Z-10;

if key=37 then sphere1.RotationAngle.y:=sphere1.RotationAngle.y+10;

if key=39 then sphere1.RotationAngle.y:=sphere1.RotationAngle.y-10;

Сохраните проект. Скомпилируйте приложение. Откройте программу. Управляйте клавишами.

Вопросы для закрепления

- Что такое Canvas? Перечислите основные методы Canvas?

- Что такое Firemonkey? Перечислите основные свойства Canvas?

- Какие возможности предоставляет библиотека Firemonkey? С какой версии Delphi?

- Перечислите свойства трехмерной фигуры, сцены (освещение, камера)?

- Вопросы по работе приложения

 



Поделиться:




Поиск по сайту

©2015-2024 poisk-ru.ru
Все права принадлежать их авторам. Данный сайт не претендует на авторства, а предоставляет бесплатное использование.
Дата создания страницы: 2019-04-04 Нарушение авторских прав и Нарушение персональных данных


Поиск по сайту: