Понедельник, 23 января 2017, 03:30

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

Меню сайта
Категории каталога
Создание игр [298]
Статьи об общих понятиях связанных с созданием игр.
Программирование [66]
Гайды по программированию на разных ЯП.
Движки и Гейммейкеры [120]
Статьи о программах для создания игр, уроки и описания.
Софт [27]
Различные программы, в том числе в помощь игроделам.
2D-графика [7]
Уроки по рисованию, растр, пиксель-арт, создание спрайтов и пр.
3D-графика [8]
Уроки по моделированию, ландшафт, модели, текстурирование и пр.
Моддинг игр [4]
Модификация компьютерных игр, создание дополнений, перевод, хакинг.
Игры [65]
Статьи об играх, в том числе и сделанных на гейммейкерах.
Разное [53]
Статьи, которые не вошли в определённые разделы.
Наш опрос
Какой вид используется в ваших играх?
Всего ответов: 9787
Главная » Статьи » Создание игр

Уроки по 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 мая 2010) | Автор: QWER56
Просмотров: 11639 | Комментарии: 9 | Рейтинг: 5.0/3 |
Теги: Компиляция, движок, Программирование, Blitz 3D, Blitz3d, уроки, Обучение, Код, Blitz
Дополнительные опции:
Также если вы считаете, что данный материал мог быть интересен и полезен кому-то из ваших друзей, то вы бы могли посоветовать его, отправив сообщение на e-mail друга:

Игровые объявления и предложения:
Если вас заинтересовал материал «Уроки по Blitz 3D.Часть 1.», и вы бы хотели прочесть что-то на эту же тему, то вы можете воспользоваться списком схожих материалов ниже. Данный список сформирован автоматически по тематическим меткам раздела. Предлагаются такие схожие материалы: Если вы ведёте свой блог, микроблог, либо участвуете в какой-то популярной социальной сети, то вы можете быстро поделиться данной заметкой со своими друзьями и посетителями.

Всего комментариев: 9
+0-
6 Kolya0894   (17 мая 2010 15:07)
Kolya0894Устанавливает 3D Графический способ.

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

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


+0-
8 QWER56   (27 февраля 2011 18:43)
QWER56Сорри.

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

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

+0-
1 WULRON   (08 мая 2010 17:42)
WULRONпосле end точка вроде должна быть

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

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

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

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

Добавлять комментарии могут только зарегистрированные пользователи.
[ Регистрация | Вход ]
Поиск
10 случайных движков
  • Lumberyard
  • Oddity Engine
  • ScoreDoom
  • Proton
  • PointJS
  • LuxRender
  • Greenfoot
  • OpenSceneGraph
  • Ninfa3D
  • Golden T Game Engine
  • Друзья сайта
    Игровой форум GFAQ.ru Перевод консольных игр
    GameDev, Уроки OpenGL, Программирование, Создать Minecraft
    Все права сохранены. GcUp.ru © 2008-2017 | Free GIF Animator Рейтинг