Наверх

Блок Верстака

sasha.go

Верстак поясняет за Godot! [Делаем платформер] - часть 1

Всех приветствую!

Как вы знаете, недавно я начал учиться программированию, и сейчас довольно хорошо разобрался. 

И после предыдущего урока-знакомства с игровым движком Godot, я наконец научу вас делать игры, в которые можно поиграть!

* * *

Создаём платформер. Урок 1. Игрок и платформа

Верстак поясняет за Godot! [Делаем платформер] - часть 1

Для начала заходим в наш любимый Godot. Как вы (надеюсь) помните, мы нажимаем "+создать", чтобы создать новый проект.

Теперь надо как угодно назвать проект, и нажать "Создать". 

Верстак поясняет за Godot! [Делаем платформер] - часть 1

Теперь мы создали проект, и так как мы создаём 2Д платформер, мы выбираем сделать 2д сцену.

Верстак поясняет за Godot! [Делаем платформер] - часть 1Верстак поясняет за Godot! [Делаем платформер] - часть 1

Теперь у нас есть 2д сцена, которая будет нашим уровнем. Давайте назовём наш корневой (т.е. главный) узел, например, "Уровень". Для этого в левой части экрана нажмите на название узла и напишите то что надо.

Верстак поясняет за Godot! [Делаем платформер] - часть 1

Теперь сохраним нашу сцену с уровнем. Найдите над сценой список сцен, там будет только наша сцена. Нажмите правой кнопкой мыши, и в выведеноом поле нажмите на "сохранить как", после - "сохранить"

Верстак поясняет за Godot! [Делаем платформер] - часть 1

Теперь создадим новую сцену. Это будет сцена игрока.
Нажмите плюсик справа от нашей сцены "уровень".

Верстак поясняет за Godot! [Делаем платформер] - часть 1Верстак поясняет за Godot! [Делаем платформер] - часть 1

Теперь добавим главный узел. Нажимаем на "+Другой узел". Теперь в поиске вводим "CharacterBody2D". Это и есть нужный для создания игрока узел.

Верстак поясняет за Godot! [Делаем платформер] - часть 1Верстак поясняет за Godot! [Делаем платформер] - часть 1

Вот мы его и добавили! Но, как вы видите, на сцене ничего не поменялось. Это потому, что мы не загрузили картинку нашего игрока. Для картинок в игре используется узел "Sprite2D". Также есть узел "AnimatedSprite2D" для создания анимации, но сейчас он нам не нужен. Для начала возьмём просто картинку.

Верстак поясняет за Godot! [Делаем платформер] - часть 1

Теперь мы взяли узел Sprite2D, но он всё ещё пустой. Надо загрузить картинку. Для этого в правой части экрана нажимаем на "<пусто>" около надписи Texture. Так как мы не загружали в наш проект своих изображений, возьмём картинку, которая изначально есть в проекте - "icon.svg".

Верстак поясняет за Godot! [Делаем платформер] - часть 1Верстак поясняет за Godot! [Делаем платформер] - часть 1

И вот он, наш персонаж! Но и это не всё. Ему нужно придать форму. Для этого добавим CollisionShape2D.

Верстак поясняет за Godot! [Делаем платформер] - часть 1

Теперь нужно зажать форму. Это может быть круг, многоугольник, но мы выберем прямоугольник. Нажмите на <пусто> в правой части экрана и выберите RectangleShape2D.

Верстак поясняет за Godot! [Делаем платформер] - часть 1

Теперь у нас появился полупрозрачный голубой квадратик. Растяните и переместите его так, чтобы он покрывал всю картинку.

Верстак поясняет за Godot! [Делаем платформер] - часть 1

Теперь у игрока есть форма! Осталось лишь сохранить сцену с нашим игроком, и дело за малым!

Верстак поясняет за Godot! [Делаем платформер] - часть 1

После сохранения переходим на сцену Уровня. Туда мы "перетаскиваем" игрока. Как?
Очень просто. В левой части, в Файловой системе у нас сохранилась сцена с игроком. Зажмите её, и перетащите на сцену уровня.

Верстак поясняет за Godot! [Делаем платформер] - часть 1

Игрок на сцене! Теперь осталось сделать платформу. Место для поста уже кончается, так что сделаем простую невидимую платформу. Для этого добавляем к главному узлу дочерний - CollisionShape2D. Но на этот раз выбираем не квадрат, а прямую - WorldBoundaryShape2D.

Верстак поясняет за Godot! [Делаем платформер] - часть 1

В углу сцены появилась прямая со стрелкой вверх. Переместите её ниже игрока, чтобы игрок приземлился на неё.

Верстак поясняет за Godot! [Делаем платформер] - часть 1

Вроде бы всё хорошо! Но если вы внимательны, то могли бы заметить, что около узла в левой части экрана стоит восклицательный знак! 

Видите ли, Форма может быть только у конкретного объекта. А мы поставили форму к уровню. Для таких случаев можно взять узел StaticBody2D.
Обязательно поставьте CollisionShape2D его дочерним узлом! 

Верстак поясняет за Godot! [Делаем платформер] - часть 1

Осталось лишь сделать код! Нажмите на корневой (верхний, главный) узел сцены. Теперь нажмите на значок, похожий на лист бумаги с зелёным плюсиком. В появившемся поле всё должно быть как на картинке ниже [1]!

Верстак поясняет за Godot! [Делаем платформер] - часть 1[1]

[1]

И тут.. Бац! Появился какой-то большущий код! Но не пугайтесь, Godot дал нам нужный скрипт(код) для игрока, и всё должно работать, если вы сделали всё правильно. Так что смело нажимаем на кнопку "играть"!

Нас спросят, сделать ли эту сцену главной? Отвечаем нет! И нажимаем "Выделить". Выбираем сцену "Уровень". Теперь можно играть!

Большой код. Ничего там не меняйте, пока не разберётесь в нём!

Большой код. Ничего там не меняйте, пока не разберётесь в нём!

Верстак поясняет за Godot! [Делаем платформер] - часть 1

Вот и всё! Ваша первая рабочая игра готова! Если вы нигде не ошиблись, то тогда ваш игрок будет бегать и прыгать по стрелкам и пробелу! 
Если вам понравятся мои уроки, то я продолжу вас учить, и тогда на следующем уроке я вас научу строить карту из "блоков", добавлять монетки, платформы, и так далее!

Вот и наша игра. Для первого платформера очень неплохо!

Вот и наша игра. Для первого платформера очень неплохо!

Всего хорошего, программисты)

Продолжать ли мне делать уроки?7

Теги:Видео-игрыПрограммированиеИнформатикаGodot
0
16
16
31комментарий
143просмотра

Оставить комментарий

Для добавления комментария необходимо авторизоваться.

Лучшиекомментарии (31)

sasha.go

Еле влезло в 50 блоков информации... Как вам?

Ответы (4)
6

Nazarep111

Ответ на  Еле влезло в 50 блок... (sasha.go)

Делай продолжение

3

Nazarep111

Ответ на  Делай продолжение... (Nazarep111)

Может попробую сделать

3

ShadowWisp

Ответ на  Еле влезло в 50 блок... (sasha.go)

Интересно и информативно

1

Не Топлес

Godot конечно хорош, но он только для игр, тот же Удав или Си минус-минус универсальны)

Ответы (6)
4

Не Топлес

Ответ на  Godot конечно хорош,... (Не Топлес)

А мой любимый язык(точнее то что выше них) — бинарный код! Программную только на нём. Есть ещё Ассемблер, но это для тех кто не достиг состояния шизомазохизма)))

2

RUSKIR

Ответ на  А мой любимый язык(т... (Не Топлес)

А еще есть очень легкий и востребованный язык Malbolge! Обязательно попробуй его! Легко получится даже у новичка!

1

Не Топлес

Ответ на  А еще есть очень лег... (RUSKIR)

Пробовал, как по мне фигня для идиотов. Я предпочитаю программировать с помощью палок и камней и из них собирать компьютеры с готовыми программами.

0

RUSKIR

Ответ на  Пробовал, как по мне... (Не Топлес)

Так лучше вообще голубиной почтой программировать

2

Не Топлес

Ответ на  Так лучше вообще гол... (RUSKIR)

Почта - это для тех у кого голуби и бумага есть, для буржуев. Настоящие пролетарии обходятся подручными средствами.

2

Рикардио

Надо сделать платформер, где ты типа грибок и ты прыгаешь на Супер Марио

Ответы (2)
5

ShadowWisp

Ответ на  Надо сделать платфор... (Рикардио)

А называется сегарио

1

sasha.go

Ответ на  Надо сделать платфор... (Рикардио)

Super Mario Bros: Revenge for all years

0
Показать все комментарии

Похожие посты

Неделю играл в игры из 90-х и 00-х. Я стал счастливее?

Ради написания данного поста, я на протяжении около недели играл в ретро игры из 90-х и 00-х. Возможно жизнь стала круче после этого 😎

Bioware теперь всё

Впрочем, я не удивлён подобному исходу событий. И сегодня мне ещё хочется высказать непопулярное мнение насчёт творчества этой студии.

Пять игр с самой проработанной системой выживания

Игры, где голод, холод и болезни сделаны как система, а не как полоски в углу экрана. Вот топ 5 таких по

Мне надоел хайп по GTA VI

Мне просто надоело, как интернет постоянно крутит хайп по этой "игре десятилетия". И почему я отношусь к её релизу с огромной долей скепсиса.

Игровой год 2026: Часть 7 (Resident Evil: Requiem & Terminator: Resistance)

С начала 2026 года я прошел некоторое кол-во игр, и я решил писать небольшие отзывы по ним. В серии своих рассказов я буду брать по 2 игры (в том порядке, что я их проходил) и кратенько писать отзывы

Как Andrero пытается мод сделать, часть 2

Рассказываю что я успел сделать

Как Andrero пытался мод сделать

Я пытался сделать мод и вот что вышло

Игровой год 2026: Часть 6 (Robocop: Unfinished Business & Crysis 2)

С начала 2026 года я прошел некоторое кол-во игр, и я решил писать небольшие отзывы по ним. В серии своих рассказов я буду брать по 2 игры (в том порядке, что я их проходил) и кратенько писать отзывы

КОНЕЦ НАЧАЛА\/ СЕРВЕРНЫЕ ПОСИДЕЛКИ👾👾👾

Все знают игру Minecraft и самособой знают что там есть сервера. И я решил зайти на один из них. Щас поясню за кубики!

Обязательное к прохождению от Пикукерсов | Pikuco

В этом посте будут игры, которые пользователи Пикуко советуют к обязательному прохождению. От маленьких инди игр до ААА гигантов.

Создал и выпустил свою ИГРУ!

Повествую о том, как я всё же пришел к тому, чтобы наконец сделать свою игру и довести её до релиза!