Блог онлайн школы Пиксель

Создание 3D-игр: основы языка Lua

И снова рады приветствовать в онлайн школе программирования «Пиксель». Мы находимся на втором уроке, и сегодня нашей главной темой станет — roblox lua. Поехали. Мы разбираем основные этапы по созданию игры в roblox с помощью lua. И в конце вас ждет приятный сюрприз, мы сделаем шутер!


Заходим в интерфейс

В интерфейсе роблокс луа выбираем карту flat terrain. Ждем загрузки. Будем делать место появления нашего персонажа «spawn». Переходим во вкладку «model». Камеру перемещаем так, чтобы видно было нужное место. И жмем «spawn». Если хотите отредактировать, изменить место, то помогут режимы «select» и «move». Они расположены сверху в левом углу экрана. Проверяем работу. Кликаем на вкладку home. И жмем «play», чтобы запустить игру. Вот, так потихоньку осваиваем роблокс и язык программирования lua. Нажали, и видим, что персонаж стоит на месте появления «spawn». Но в одиночку неинтересно бегать по карте.

roblox lua

Превращаем игру в шутер!

Жмем красный квадрат «stop». Переходим в toolbox и ищем модель врага. В поисковой строке пишем «enemy» (враг). Выбираем любого персонажа и размещаем на карте. Чтобы герой защищался, ему нужно оружие. Давайте найдем. Благо, что язык программирования роблокс студио позволяет это сделать. В поисковую строку вбиваем RPG. Выбираем любое оружие, перетаскиваем поближе к месту «spawn». Жмем «play». Персонаж побежал. Чтобы взять оружие, на него нужно просто наступить. А стрелять будем левой кнопкой мыши, наводя прицел на врага. Если мы его убьем, то скоро он опять возродится.
 Давайте уберем эту функцию. Останавливаем игру «stop». Переходим в explorer (в правой части экрана). Видим строчку communist (так называется наш враг). Кликаем и раскрываем его дочерние объекты. Находим скрипт «respawn» и удаляем. Больше наш коммунист не возродится.


Давайте уменьшим урон от его пулей. Нажимаем левой кнопкой мыши на скрипт «control». Появился код. И как вы догадались, это lua язык программирования. Находим 89 строчку (номера строк указаны). Меняем в коде значение 67,5 на 2,5. Таким образом мы уменьшили урон от его пистолета. Но один враг — это не интересно. Давайте сделаем несколько копий. Закрываем скрипт.

Множим врагов

Надеемся, понятно, как работает луа язык программирования. Снова в explorer находим communist и кликаем. Воспользуемся комбинацией клавиш ctrl + D. И мы копируем коммунистов. Подвигаем их на поле. Мы получили настоящий шутер. Персонаж может брать оружие, убивать врагов. Если истребить всех, то мы победим.

Переходим к основам

Этот код предназначен для не профессиональных пользователей. Внимание уделяется простате дизайна и легкости обучения. Поэтому он идеально подходит для обучения на начальном этапе. Смотрите наши уроки роблокс или записывайтесь в онлайн школу Пиксель.

Создаем первый скрипт: набор инструкций для компьютера

Смотрим главное меню с шаблонами, выбираем Baseplate. Нажимаем на плюсик возле Workspace и выбираем скрипт. Открылся первый скрипт, и в нем строчка — print ("hello world"). Print — это команда с помощью которой мы печатаем в окне Output. Чтобы его увидеть, мы нажимаем на кнопку vew. Далее, кликаем command bar, и окно появится.


В любом языке программирования можно задавать переменные (это именованный участок памяти ПК, которому присвоен адрес). Например, мы хотим присвоить переменной x значение 10 (x=10). Знак = называется «оператор присваивания». С его помощью мы указали системе, какое значение он должен сохранить в памяти. Оно может быть любой, главное, чтобы  содержало английские буквы и цифры. Вот так можно выполнять элементарные действия. Давайте добавим еще парочку и выведем в командной строке их сумму.
  • x=10
  • y=20
  • z=30
  • print (x+y+z)
В скобках мы указали общую сумму. Во вкладке home нажимаем «play». И видим, что в командной строке внизу появилось число 60. То есть программа выдала значение суммы. Нажимаем «stop». Кстати, тут хранятся не только цифры, но и символы. Давайте положим в переменную какую-нибудь надпись, а затем выведем ее на экран.

Roblox = "Привет, маленькие кодеры!". Говорим компьютеру, чтобы он нам это напечатал: print (roblox). Кстати, чтобы запустить программу можно нажать на кнопку f5. Теперь в командной строке мы видим наше приветствие. Что мы сделали? Задали символы, написав наш текст. И потом с помощью команды print вывели его на экран. Так, можно создавать реальные объекты на игровой сцене при запуске игры. Используем специальную команду Instance.new


A = Instance.new. В кавычках указываем название объекта, который создаем. У нас это блок: a = Instance.new ("part"). Укажем, где его создаем: a = Instance.new ("part", Workspace). Будем изменять свойство создаваемых объектов. Давайте начнем с изменения размера объекта. Не забываем, что после имени переменной ставится точка, и прописывается название свойства. Вернемся к размеру: a. size. Так как размер — это трехмерная величина, создадим обращение: a. size= vector 3.new (это обязательное условие для изменения всех трехмерных свойств: размера, местоположения и. т. д).

Запишем новые параметры кубика: a. size= vector 3.new (50, 50, 50). Это размеры по трем осям (x, y, z).
Поменяем положение объекта в пространстве: a.position = vector 3.new (0, 100, 0). То есть по оси x и по оси z координаты равны нулю, а по оси y значение 100.

Внимание: если мы просто изменим координаты, то объект, который создали, при запуске упадет на землю. Чтобы избежать этого, мы воспользуемся свойством Anchored. Оно может принимать два значения: активировано оно или нет. Мы воспользуемся служебными словами:
  • true (истина);
  • fols (ложь).
A. Anchored = true. То есть мы поясняем компьютеру, что данный блок следует задержать в воздухе.
Поменяем цвет объекта. Можно задать один конкретный оттенок, или сделать так, что при запуске выбор будет случайным. Это делается командой a.brickcolor=brickcolor. black. Мы выбрали черный цвет. Появляется подсказка, и можно кликнуть на любой тон. Это язык роблокса.

Чтобы сделать рандомный цвет, задаем: a.brickcolor=brickcolor. random

Вы поняли, как создавать обычный кубик. Мы еще можем задать другие предметы. Например, сообщение, которое выводится на игровой экран: X= Instance.new ("message"). Укажем, где мы будем это выводить: x= Instance.new ("message", Workspace). Печатаем текст: x.text = "Привет, мы изучаем программирование!"

Запускаем
Жмем «play». Видим появилась надпись! И она будет все время висеть на экране. Тут же примостился парящий в воздухе блок с измененными размерами и высотой. Сделаем так, чтобы надпись пропадала через 10 секунд. Жмем «stop», переходим в скрипт. Впишем команду wait (10). Компьютер подождет 10 секунд и удалит надпись. Как? X: remove (10)

язык роблокса

Онлайн школа «Пиксель»

Итак, сегодня мы познакомились с roblox lua и создали собственный шутер. Если понравилось, записывайтесь в школу для детей «Пиксель». У нас просто, интересно и полезно.


Смотрите видео "Создание 3D-игр: основы языка Lua"




Бесплатные видеоуроки Roblox для детей