Четверг, 09.02.2012, 09:49


Приветствую Вас Гость

Меню сайта
Категории каталога
Создание игр [150]
Статьи об общих понятиях связанных с созданием игр
Движки и Гейммейкеры [84]
Статьи о программах для создания игр
Игры [39]
Статьи об играх, в том числе и сделанных на гейммейкерах
Софт [25]
Различные программы, в том числе в помощь игроделам
Разное [61]
Статьи, которые не вошли в определённые разделы
Наш опрос
Игры какого жанра вы предпочитаете делать?
Всего ответов: 9059
Главная » Статьи » Создание игр

Уроки по Blitz 3D.Часть 1.
В разделе статей буду выкладывать не большие уроки по Blitz3D. Уроки пишутся по моему, не большому опыту, поэтому надеюсь спроса большого с них не будет. Всё, что знаю напишу.Надеюсь вы уже установили движок и знаете куда писать код и как компилировать. Форум

Начало.
Начнём с создания 3D окна в мир игры:

Теперь попытаюсь объяснить, что мы написали.

Graphics3D 640,480,16,1 это строка открывает окно в 3D мир
Устанавливает 3D Графический способ. Эта команда должна быть выполнена перед
любой другой 3D командой, иначе программы возвратят ошибку.
Синтакс: Graphics3D ширина, высота, глубина цвета, режим
Ширина, высота – размер создаваемого экрана (в пикселях)
Глубина – глубина цвета – 16, 24 или 32 бита на пиксель.
Цветовой способ с 16 частицами показывает наименьшее количество количества
цветов, 65536. И с 32 частицами цветовые способы с 24 частицами показывают более
чем 16 миллионов Цвета и в результате предлагают лучшую картину качества, хотя
могут кончаться более медленными программами, чем с 16 частицами.
Режимы:
0 – оконный во время разработки (если возможно), полноэкранный в .exe формате;
1 – всегда полноэкранный
2 – всегда оконный
3 – всегда оконный, с возможностью изменения размеров окна.
SetBuffer BackBuffer() – Установить поток, буфер.
Repeat
Until KeyHit(1) – Между этими двумя командами будет происходить основной цикл игры. При нажатии кнопки ESC начинает читать следующую команду.
End – Завешает программу

Продолжим.

cam=CreateCamera() – это самая основная команда в 3D программах. Это камера, наши глаза.
Lit=CreateLight() – эта команда создает источник света. Можно изменять тип света, в
скобки можно вписать следующие значения:
1:направленный
2:точка
3: пятно

Свет – это объект, а это значит, что им тоже можно управлять, как и всеми
объектами.

cub=CreateCube()–3D объект куб. Кроме куда можно ещё создать объекты:
CreateSphere ( [segments][,parent] )
CreateCylinder ( [segments][,parent][,solid] )
CreateCone ( [segments][,parent][,solid] )

PositionEntity cub,0,0,5– эта команда помещает объект в позицию.

Объекты помещены, используя X, Y, Z системы координат. X, Y и Z каждый имеет
собственную ось. Определяя ценность для каждой оси, Вы можете помещать объект где-нибудь в 3D пространстве. 0,0,0 – центр. Положительный Z находиться
перед камерой, а отрицательный позади камеры. Изменение X это наклон в бок.
Y будет изменять положение лево право.

ScaleEntity cub,1,0.3,1 – Изменяет размер объекта
RotateEntity cub,0,40,0 – Вращение объекта.
TurnEntity cub,.6,.2,.3 - TurnEntity entity,pitch#,yaw#,roll#,[,global]
Tpitch# - наклон вперед / назад.
Yaw#- переворот налево / вправо.
Roll# - наклон налево / вправо.
UpdateWorld – UpdateWorld [anim_speed#]
anim_speed# (необязательный) – скорость мультипликации. Установлен по
умолчанию в 1.
RenderWorld [tween#]Показывает все объекты в мире.

Ура!Вот , что получилось:

Управление объектами.
EntityColor cub,0,255,0– Устанавливает цвет объекта.
Зеленые, красные и синие (R,G,B) в диапазоне 0-255. Default цвет – 255,255,255.

If KeyDown(208) MoveEntity cub,0,0,-.1- При нажатие кнопки в верх объект начинает двигатся вперёд, сканкод 200. При нажатие кнопки вниз объект начинает двигаться назад, сканкод 208. Чтобы узнать сканкод каждой кнопки в справке есть раздел Scancodes, там можно узнать номер каждой кнопки. Команда MoveEntity перемещает объект в пространстве.

If KeyDown(203) TurnEntity cub,0,1,0- поворот куба.

Вот теперь у нас получилась маленькая игра.

Столкновение с объектами.

Вы уже заметили, что кубик проходит сквозь стены. Исправим, сделаем стены твёрдыми.

Const TypeCub=1,TypeStolb=2 – И так сначала мы создали две константы – TypeCub, равная единице и TypeStolb Равная двойке .
EntityType – присваивает данному объекту данный тип. В нашем случае, тип – это просто цифры. Здесь мы вместо цифр использовали константы – чтобы не запутаться, да и чтобы легко можно было прочитать – к какому типу этот объект относится, и с чем соприкасается.
Collision -Первый тип для столкновений.
Второй тип должен столкнуть.

Типы столкновений.
1: столкновения « сфера к сфере «
2: столкновения « сфера к многоугольнику»
3: столкновения « сфера к box»

Действия объекта при столкновении.
1: Стоп, остановка.
2: полное столкновение со скольжением

EntityRadius cub,2 – Радиус столкновения объекта.

Ну вот теперь в нашей маленькой игре кубик врезается в стены:


В дальнейшем буду добавлять ещё уроки. Если я где то ошибся, то пожалуйста сообщите.
Категория: Создание игр | Добавил: QWER56 (08.05.2010) | Автор: QWER56
Просмотров: 3787 | Рейтинг: 5.0/3
Теги: Компиляция, Движок, программирование, Blitz 3D, Blitz3d, уроки, обучение, Код, Blitz
» Дополнительные опции «
Всего комментариев: 9
0  
6 Kolya0894   (17.05.2010 15:07)
Устанавливает 3D Графический способ.

Такое ощущение будто это последствия перевода кривым переводчиком...

А статья сама по себе не плоха, хотя я в ней ничего нового не узнал. Но новичкам в помощь! happy


0  
8 QWER56   (27.02.2011 18:43)
Сорри.

0  
3 _JOKER_   (08.05.2010 19:00)
If KeyDown(208)
If KeyDown(203)
подскажите, почему именно такие цифры в скобках?

+2  
4 alexteen   (08.05.2010 19:28)
Это код кнопок на клавиаьуре. Каждая кнопка имеет свой цифровой код. Эти записи означают, что код будет работать при нажатии определённой клавиши.

0  
1 WULRON   (08.05.2010 17:42)
после end точка вроде должна быть

+2  
2 Diablokiller   (08.05.2010 18:25)
В паскале ДА, ОБЯЗАТЕЛЬНО!
В Blitz3D, нет!

0  
5 QWER56   (08.05.2010 19:30)
ненужна, я никогда не пишу и компилируется

0  
7 Diablokiller   (23.06.2010 23:26)
В TP7 после последнего слова(в конце программы) END всегда пишется точка!

0  
9 MoonKing   (13.04.2011 13:36)
Это - не паскаль! Это - Бейсик!

Добавлять комментарии могут только зарегистрированные пользователи.
[ Регистрация | Вход ]
Ссылки по теме
Поиск
10 случайных движков
PopCap Games Framework
DzQ
DS Game Maker
Platform Games Editor
Fighter Maker
Doom 3
Milena
3DCakeWalk
Jolt3d!
J.U.R.P.E.
Друзья сайта
Игровой форум GFAQ.ru Перевод консольных игр Игорный бизнес в России Loadka.ru – загрузка файлов
Все права сохранены. GcUp.ru © 2008-2012