Книга «Roblox: играй, программируй и создавай свои миры»

Моя цель - предложение широкого ассортимента товаров и услуг на постоянно высоком качестве обслуживания по самым выгодным ценам.

Прежде чем перейти к статье, хочу вам представить, экономическую онлайн игру Brave Knights, в которой вы можете играть и зарабатывать. Регистируйтесь, играйте и зарабатывайте!

image Привет, Хаброжители! Мы издали книгу для мальчиков и девочек. Что такое Roblox? Это красочная компьютерная платформа для создания и публикации своих игр. Мир Roblox изо дня в день становится все популярней, и ты можешь стать его частью!

Если ты мечтаешь стать геймдизайнером и создать свою игру, но не знаешь, с чего начать, эта книга поможет тебе!

— Не требуется предварительных знаний — ты можешь начать делать игру сразу!
— Мир Roblox интуитивно понятен и очень нравится детям и взрослым.
— В книге даны очень подробные пошаговые инструкции по установке и работе с Roblox.
— Есть введение в программирование и язык Lua.
— Наглядные инструкции по созданию игровых объектов (каждое действие иллюстрируется скриншотом).
— Интересные задания для самостоятельной работы.

«Roblox: играй, программируй и создавай свои миры» станет верным другом, поможет в кратчайшие сроки освоить игровую среду, удивлять друзей и родителей крутыми играми и даже заработать!

СОЗДАНИЕ ИГРОВЫХ ОБЪЕКТОВ С ПОМОЩЬЮ СКРИПТА


Теперь рассмотрим последний вариант создания игровых моделей. В нем мы будем использовать язык программирования Lua. Создадим прямоугольный блок стандартного размера. Для этого в скрипте в Workspace вызовем функцию Instance. Эта функция отвечает за создание объекта. Для того чтобы создалась именно деталь, необходимо прописать параметр Part, но, чтобы деталь создалась именно в нашем игровом мире, нужно добавить параметр workspace:

image

Ниже представлен код с указанием размера детали:

image

По умолчанию при создании детали создается Block, у которого снизу и сверху есть измененная поверхность. Сверху это Studs (шипы), а снизу Inlets (выемки). Они нужны для скрепления с поверхностью. Параметры можно настроить в классе Surface.

Этот класс можно найти как в отдельном окне инструментов (в урезанном виде), так и в свойствах конкретной детали.

image

image

Чтобы сгладить верхние и нижние стороны, достаточно прописать для параметра BottomSurface и TopSurface (индекс 0 или 9).

image

image

Из предыдущих глав ты уже знаешь, как накладывать материал и цвет на объект, а также регулировать размер и положение.

Сейчас попробуем создать дом с крышей, похожий на предыдущий. Начнем с пола и стен. Для этого создадим новый игровой объект и в Workspace напишем скрипт:

image

Благодаря этой части кода будет создана заготовка для пола размером 50 × 50 и 1 studs в высоту, центр пола будет располагаться в точке (0, 0, 0).

Зададим полу светло-коричневый цвет и добавим материал Wood planks:

image

Далее приступим к созданию стен, но так, чтобы оставались места под дверь и окна.

Начнем со сплошной стены:

image

image

Создадим еще одну сплошную стену по оси x. Ее нужно повернуть (или можно просто изменить размер). Но для примера используем поворот:

image

Теперь приступим к созданию более сложной конструкции — стены с проемом для двери. Есть два варианта.

1. Создать три части стены и расположить в определенном порядке, чтобы получилось отверстие.

2. Использовать функцию вырезания отверстия в стене.

Для первого варианта строчек кода будет больше, чем для второго. Да и второй вариант создает данную стену цельным объектом. Поэтому лучше использовать второй вариант.

Нам нужно создать третью стену и блок, который будет иметь размер дверного проема:

image

Заметь, что положение блока под дверь должно быть строго внутри третьей стены.

Запусти игру и посмотри на результат (рис. 3.125).

image

Осталось вырезать блок в стене, и за это отвечает функция SubtractAsync. Под вырезанием понимается создание уже нового объекта «Стена с отверстием», который должен быть привязан к игровому пространству workspace. Созданный объект наложится на предыдущие (третья стена и дверь), поэтому их нужно удалить:

image

Обрати внимание: в функции SubtractAsync содержится тип данных — таблица, и поэтому этот объект заключен в фигурные скобки. Таких объектов может быть много, просто в нашем случае он один.

image

По такому же принципу создадим четвертую стену с двумя окнами:

image


Для окон добавим прозрачность с помощью функции Transparency блокам window1 и window2 и при этом не станем их удалять — они будут имитировать стекла.

Подчеркнем снова: код содержится в одном скрипте.

image

А теперь создадим потолок и крышу. Потолок сделать легче, для этого достаточно скопировать код для пола и указать положение по оси y, равное 16:

image

Создание крыши — сложное задание. Ниже будет представлен пример создания треугольной крыши по такому алгоритму:
  • создаем все четыре элемента крыши;
  • настраиваем два боковых элемента, они должны находиться под углом 45° и идти от края крыши до соприкосновения друг с другом;
  • делаем размер боковых угловых элементов крыши таким, чтобы закрыть те части оставшихся элементов крыши, которые пересекаются с ними;
  • применяем функцию SubtractAsync, чтобы сделать треугольные элементы крыши;
  • изменяем размеры боковых элементов, которые были наклонены под углом 45°, так, чтобы они стали элементами плоской крыши;
  • подгоняем положение этих угловых элементов крыши.

Дом готов.

image

Попробуй сделать крышу без подсказки:

image

image

image

image

Смещаем боковые элементы крыши.

image

Поздравляю: дом построен!

Более подробно с книгой можно ознакомиться на сайте издательства
» Оглавление
» Отрывок

Для Хаброжителей скидка 25% по купону — Roblox

По факту оплаты бумажной версии книги на e-mail высылается электронная книга.
Источник: https://habr.com/ru/company/piter/blog/547378/


Интересные статьи

Интересные статьи

Обзор типичных проблем, возникающих с солнечными станциями, и на что стоит обратить внимание, пока не стало слишком поздно. Основано на анализе 50+ домашних солнечных ста...
Этим летом мы с Ромой запустили серию твитов с полезными советами и приемами по Angular. Сообщество тепло встретило эту инициативу, и я решил написать обобщающую статью.Вот мои 5 рек...
Мне было необходимо делать 2 раза в сутки бэкап сайта на «1С-Битрикс: Управление сайтом» (файлов и базы mysql) и хранить историю изменений за 90 дней. Сайт расположен на VDS под уп...
Никогда и ничего фирмы Самсунг я больше в жизни не куплю!!! И буду отговаривать всех кто будет спрашивать совет в покупке техники!Типичный гнев анонимуса на заданную тему С 22 января Самсу...
Если Вы используете в своих проектах инфоблоки 2.0 и таблицы InnoDB, то есть шанс в один прекрасный момент столкнуться с ошибкой MySQL «SQL Error (1118): Row size too large. The maximum row si...