Отправляет email-рассылки с помощью сервиса Sendsay
  Все выпуски  

Программирование с нуля - это совсем просто! 184) Программирование 3D-игр: Спрайты


Школа программирования

184) Программирование 3D-игр: Спрайты

Хотя трехмерные функции BlitzBasic явно не предназначены для работы с двумерными спрайтами (это прерогатива набора BlitzBasic 2D, о чем в свое время рассказывалось), тем не менее часто они бывают востребованы и в трехмерных сценах. Проще, например, создавать эффекты летящих пуль с помощью небольших анимированных спрайтов, нежели создавать для этого специальные трехмерные объекты.

В тоже время средства работы со спрайтами в BlitzBasic 3D отличаются от двумерных аналогов.

Загрузка спрайта в 3D-программу выполняется функцией

LoadSprite(имя-файла)

Она возвращает идентификатор этого спрайта.

После того, как спрайт загружен, необходимо задать способ его отображения в сцене. Этот способ определяется с помощью функции

SprireViewMode спрайт, режим

Режим принимает одно из следующих значений:

1 - спрайт всегда ориентирован "лицом" к камере;
2 - спрайт независим от местоположения камеры (в таком случае сбоку он будет абсолютно тонким);
3 - будет вращаться вместе с камерой влево-вправо, оставаясь повернутым к ней "лицом";
4 - повернут к камере "лицом" за исключением случаев, когда камера обходит спрайт сверху (полезно при создании деревьев, которые выглядят одинаково со всех сторон вокруг).

* Позиционирование спрайта в сцене осуществляется с помощью стандартной для всех объектов команды

PositionEntity идентификатор, x,y,z

* Кроме того, спрайт можно позиционировать в пределах экрана, в двумерном виде, командой

HandleSprite спрайт, x#,y #

Параметры x и y принимают относительные значения (относительно центра экрана) от -1 до +1.

* Спрайт можно вращать на заданный угол:

RotateSprite спрайт, угол-в-градусах

* Спрайт можно масштабировать по ширине/высоте:

ScaleSprite спрайт, K-по-ширине, К-по-высоте

Задание. Напишите программу, которая будет отображать цепочку летящих от пользователя вдаль спрайтов, с возможностью вращения камеры и переключения между четырьмя режимами воспроизведения спрайтов.


(c) 2004-2008 Сергей Бобровский : bo собака russianenterprisesolutions.com

Школа программирования с нуля
Все предыдущие выпуски базового курса всегда тут:
http://www.infiltration.ru/p/

Неофициальный сайт поддержки (со срочными вопросами - сюда):
www.prog-begin.net.ru.


Мои книги (учебные курсы) "Технологии Delphi / C++ / C#".
http://shop.piter.com/publish/authors/17681/191180213/
Дизайн рассылки: Алексей Голубев - Web-дизайн и web-программирование


В избранное