Здравствуйте, уважаемые пользователи этого сайта. Вы наверняка уже соскучились по моим урокам, а если нет, то на текстуре вашего лица появится фингал (если что - это шутка, а не оскорбление или что-то типа того) Сегодня я вам расскажу о замечательном движке Blitz3D, он способен на многое, единственное что жаль - он использует DirectX 8 (или 7, точно не знаю). Но это можно исправить с помощью библиотеки Xors3D, но она к сожелению платная. И так, приступим к уроку!
Первая игра!!!
Первая игра у нас будет мега простая и как может показатся после запуска мега крутая. Первым делом откроем сам Blitz3D. Увидим Приветствие, выберем New из меню File (или просто нажмем комбинацию клавиш CTRL+N). Сейчас будет самое интересное - набор самой игры. Раскрою небольшой секрет - мы сейчас напишем маленький текстовой "квестик". Сразу скажу в блице комментарии (то что не читается как код) обозначается знаком ; Вот собственно код (позже мы рассмотрим функции):
Code
Graphics 640,480,2 ;Старт 2D графического режима, первые 2 аргумента (640 и 480) это размер экрана, третий (2) это количество цветов (в битах) font=LoadFont("Arial",16) ;Загружаем шрифт Arial с размером 16 SetFont font ;Печатаем шрифтом, который мы загрузили в пред. строке Print "Введите ваше имя:" ;Печатаем текст "введите ваше имя" name$=Input() ;Читаем то что игрок вводит в переменную name$ (знак $ означает что переменная строковая, тоесть может иметь и буквы и цифры) Print "Сколько вам лет?" ;Пишем текст age=Input() ;Читаем введенное игроком в переменную age (заметьте знака $ нету, тоесть переменная может содержать ТОЛЬКО цифры) If age=0 Then age=1 ;Если игрок ввел 0 или ввел буквы, то age будет равен 1 Print "Ваше имя "+name$+", вам "+age+" лет" ;Выводим текст с именем (name$) и возрастом (age) знак + значит что мы закрываем ковычки, но продолжаем писать нужный текст (пригодится для вывода переменных, констант и прочего) .metka ;А это метка, метки нужны чтобы в любой момент откуда угодно перейти к нужному участку кода Print "Вы можете пойти в ДОМ, можете погладить КОТа" ; Пишем текст action$=Input() ;Читаем .act1 ;Метка If action$="дом" Then Goto dom ;Если игрок ввел "дом" то переходим к метке dom If action$="кот" Then Goto kot ;То же и самое что с "домом" только метка другая=) If action$<>"дом" Or action$<>"кот" Then Goto metka ;Если игрок ввел не "дом" и не "кот", то возвращаемся к метке metka (она в начале) Goto act1 ;Возвращаемся к проверке введенного игроком (нужно чтобы сразу не переходило на следующую строку) .dom Print "Вы в доме!!!" ;Мы дома=)
action2$=Input() .act2 If action2$="" Then Goto metka Goto act2 .kot Print "Вы погладили вашего кота и он остался довольным :)" action3$=Input() .act3 If action3$="" Then Goto metka Goto act3
Итак, приступим к просмотру)
Оператор Graphics переводит программу (игру) в 2D режим. В 1 аргументе ширина, во втором высота, в третьем кол-во цветов (в битах)
Функция LoadFont загружает шрифт, первый аргумент название шрифта, второй его размер
Функция SetFont ставит нужный нам шрифт (текст будет писаться этим шрифтом), единственный аргумент - переменнная со шрифтом.
Функция Print выводит введенный текст на экран
Функция Input считывает данные, введенные игроком Метки в Blitz3D ставятся так ".название_метки" (без ковычек, точка обязательна) Функция Goto переходит на указанную метку Вот и первый урок кончился. Для тех, кому лень писать код я сделал пример. Вот скриншот того что получается:
Сообщение отредактировал: Дракон - Среда, 09.03.2011, 12:59
Дата: Понедельник, 22.08.2011, 18:17 | Сообщение # 10
Сообщений: [45]
Сори что подымаю тему, но приспичело создать какойнибудь уровень игры=) ктонибудь может обьяснить как на этом движке создаются 3D игры, или дать ссылку на бесплатные книги и уроки по этому поводу, а то я попросматривал темы на этом форуме и понял что тут куча тем про разные движки и языки программирования, ктото начинает обьяснять основы создания игр на какихто движках или программирования игр, но все это так и заканчивается на примерах которые даются в любой книге в первойже главе))