Здравствуйте, так как я НЕ программист, делать 3д игры на заказ я не умею, но чему то я научился, и хочу показать вам, хоть это и не по контенту канала.
И так, нам понадобится программа GAME MAKER. Если её у вас нет, то вы можете скачать её вот здесь (её не надо устанавливать).
первое, что нужно сделать, это придумать идею. Я решил для примера сделать простенькую и в то же время суперскую космическую игру.
Идея есть, теперь создание. Я создам персонажа — игрока, он будет ходить влево и вправо.
Для этого вам нужно нажать на синий мячик справа вверху, надеть спрайт ракеты, и добавить событие.
Для начало добавим событие (нажатие буквы A и буквы D).
Теперь в событии (нажатие буквы A) ставим систему - Move Fixed. Направление влево, скорость допустим 5.
Сделаем то же самое и на событие (нажатие буквы D) только направление делаем вместо влево — вправо, скорость по прежнему 5.
Теперь создаем событие (отпуск буквы A и буквы D) ставим систему - Move Fixed, только направление делаем посередине, то есть ни какого, скорость тоже ровна 0.
Теперь расставляем его в комнате, Проверяем!
Теперь он двигается, но забегает за пределы комнаты! Самое простое решение - сделать границы. Создаем объект квадратик, я сделал красный, размером 32x32.
Делаем для него объект
дальше смотрим чуть ниже спрайта, в объекте есть две галочки, видимый и твердый. Мы убираем галочку с видимого, так мы его не увидим.
Переходим к нашему игроку - ракете. Ставим событие (при столкновении с объектом (в нашем случаи граница - квадратик))
Теперь ставим в это событие систему - Move Fixed, и делаем направление посередине, то есть ни какого, скорость ровна 0.
Теперь расставляем границу в комнате, проверяем!
Прекрасно, теперь давайте позаботимся о фоне игры, я найду в ЯНДЕКСЕ картинку космоса и вставлю в фон. Я хочу сделать его двигающимся, поэтому создаю объект с этим фоном.
Делаем для него объект, потом ставим в комнату, и нажимаем на замочек один раз (находится вверху).
После расставляем все наши объекты.
Проверяем!
Теперь все красиво, но наша ракета не умеет стрелять, надо исправить!Взял изображение лазерного выстрела, подогнать под размер ракеты и всё!
Создаем объект с этим спрайтом. Теперь программируем! Для начало создадим событие (создание)
после чего добавим нашу хорошо знакомую систему Move Fixed. Делаем точно также как и на рисунке
Переходим к игроку, создаем событие (отпуск пробела) и добавляем систему Create instance. Она создает объект, выбираем объект (наш снаряд - луч) и ставим возле X и Y - x и y.
Проверка!
Теперь, когда мы отпускает клавишу пробел, наша ракета создает луч, а он при создании летит со скоростью 20 вверх. Но почему то не в той части объекта, это можно исправить в самом спрайте. Просто делайте точку по центру в ракете, и в снаряде - луче.
Проверяем!
Отлично!
Теперь нужно создать врага. Я сделал вот такой спрайт врага, он должен быть перевернутым, чтоб был эффект полета на нас.
Сразу делаем на нем точку пересечения
а потом я сделал для него его снаряд, назовём его стрелочка.
Сделаем точку пересечение стрелочки посередине. Создаем объект врага и стрелочки. Работаем с объектом враг - при создании он летит вниз со скоростью 3.
также создает будильник - для этого вызовите систему Set Alarm. У Game maker своя скорость равная 30 единиц = 1 секунда. Ставим 120 единиц = 4 секунды, и номер таймера 0.
Создаем событие (номер таймера 0)
добавляем систему Create instance, Объект создания стрелочка, XY = XY.
Теперь, займемся стрелкой. При создании она будет двигаться вниз со скоростью 10.
Ставим на время в комнату врага, и проверяем.
Теперь он пуляет стрелки, но мы не можем его бить, к сожалению начинается сложная тема кодов, но я уверен что для вас она легкотня! И так делаем жизнь нам и врагу.
Сначало переходим к нашей ракете, при событии создании добавляем систему Execute code. Здесь мы будем писать программы.
Пишем вот такой код
hp=100 ///жизнь игрока = 100
теперь добавляем событие (при столкновении игрока с стрелочкой) и сного вставляем систему Execute code, а в неё пишем
hp-=10 ///если снаряд попадет в нашу ракету, то мы потеряем 10 единиц жизни!
Теперь делаем событие (шаг) это событие означает, что все систему будут действовать всегда, пока наш объект есть в игре. Добавляем систему Execute code
в ней пишем:
if hp<=0 {instance_destroy();}///если остается меньше 0 единиц жизни то мы умираем, то-есть удаляемся.
Теперь в стрелочке создаем событие - при столкновении с игроком - ракетой удалятся
проверяем!
Теперь при 10 стрелочках мы умираем, но теперь тоже самое делаем у врага, пишем hp=100 но вместо стрелочки, наш снаряд - луч.
Теперь у наших космических ракет есть жизнь, не забудьте сделать у снаряда событие при столкновении с врагом удаление. На сегодня все, в следующем уроке - примере мы сделаем ещё двух новых врагов, их создание на карте, и многое другое, ну а пока подпишитесь, вить я не только НЕпрограммист.