Создание Ping Pong 2D на Gobot Game Engine

как сделать 2d игру 2D

Создание простой игры Ping Pong на движке Gobot 2.0

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

Для начала скачайте игровой движок Gobot 2.0. Это очень компактный и простой движок для создания 2D игр, состоящий всего из одного файла. К нему не требуется скачивать ни каких дополнительных библиотек и баз, просто скачиваете и запускаете редактор, и можете приступать к созданию проекта.

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

Запустите движок с рабочего стола и создайте новый проект.  Нажмите кнопку New project и укажите папку, желательно ту в которую поместили разархивированный файл, тут будет хранится наш проект. Укажите название проекта и нажмите Create.

newproject

Для создания пинг понга мы будем использовать разрешение экрана 640х480. Перейдите в настройки проекта SceneProject settings. Откройте  вкладку Display и измените параметры width и height соответственно 640 и 480.

razresh

Следующий этап — добавление объектов.

Создайте объект Node 2d.  И переименуйте его в game.

node

Тем же способом создайте 4 Sprite дочерними node и обзовите их как показано на картинке.

sprite

Для каждого спрайта установите текстуры.

При нажатии на спрайт в правой части экрана открывается окно Inspector, где нужно в строке Texture выбрать текстуру. Можете взять текстуры отсюда и поместить их в папку с проектом.

texturi

Разместите объекты на сцене.

Если все сделали правильно, в окне редактора появится синий прямоугольник, в этой области и будут происходить все действия. Ваша задача разместить эти четыре спрайта так, как показано на картинке (мяч – boll должен находится в центре экрана).

ping

Сохраните сцену в папку с проектом SceneSave scene as.. и назовите ее pingboll.scn

scene

Управление объектами.

Теперь необходимо настроить управление нашими объектами (спрайтами left и right). Откройте настройки проекта и перейдите во вкладку Input map. Добавьте четыре действия left_move_up, left_move_down, right_move_up, right_move_down и для каждого действия назначьте клавиши передвижения.

key

Для левого спрайта я назначил клавиши W и S, для правого, клавиши вверх и вниз.

Следующий этап – написание скрипта.

К Node 2d добавьте скрипт

skript

и скопируйте туда текст написанный ниже

extends Node2D
var screen_size
var pad_size
func _ready():
 screen_size = get_viewport_rect().size
 pad_size = get_node("left").get_texture().get_size()
 set_process(true)
#скорость мяча (в пикселях/second)
 var ball_speed = 80
#направление мяча (нормальный вектор)
 var direction = Vector2(-1,0)
 const PAD_SPEED = 150
func _process(delta):
# небольшая корректировка размера планок
 var ball_pos = get_node("ball").get_pos()
 var left_rect = Rect2( get_node("left").get_pos() - pad_size/2, pad_size )
 var right_rect = Rect2( get_node("right").get_pos() - pad_size/2, pad_size )
 ball_pos+=direction*ball_speed*delta
#отскок мяча от  стенок верха и низа
 if ( (ball_pos.y<0 and direction.y <0) or (ball_pos.y>screen_size.y and direction.y>0)):
direction.y = -direction.y
# если мяч задел планку он изменяет направление и скорость
 if ( (left_rect.has_point(ball_pos) and direction.x < 0) or (right_rect.has_point(ball_pos) and direction.x > 0)):
 direction.x=-direction.x
 ball_speed*=1.1
 direction.y=randf()*2.0-1
 direction = direction.normalized()
# если мяч ушел за пределы экрана игра перезапускается
 if (ball_pos.x<0 or ball_pos.x>screen_size.x):
 ball_pos=screen_size*0.5 #ball goes to screen center
 ball_speed=80
 direction=Vector2(-1,0)
 get_node("ball").set_pos(ball_pos)
#перемещение левой планки
 var left_pos = get_node("left").get_pos()
 if (left_pos.y > 0 and Input.is_action_pressed("left_move_up")):
 left_pos.y+=-PAD_SPEED*delta
 if (left_pos.y < screen_size.y and Input.is_action_pressed("left_move_down")):
 left_pos.y+=PAD_SPEED*delta
 get_node("left").set_pos(left_pos)
#перемещение правой планки
 var right_pos = get_node("right").get_pos()
 if (right_pos.y > 0 and Input.is_action_pressed("right_move_up")):
 right_pos.y+=-PAD_SPEED*delta
 if (right_pos.y < screen_size.y and Input.is_action_pressed("right_move_down")):
 right_pos.y+=PAD_SPEED*delta
 get_node("right").set_pos(right_pos)

skript2

Перед запуском игры укажите вашу сцену главной в настройках проекта SceneProject settings, вкладка Application, строка Mine scene.

mineScene

Запустите проект клавишей F5, и попробуйте поиграть в свою игру, проверьте, работают ли клавиши управления планками.

pingpong

Для компиляции проекта и сохранения в файл exe нажмите клавишу F6. В папке проекта, файл с движком, который мы разархивировали, заменится на вашу скомпилированную игру, переименуйте его и запустите.  Поздравляем, вы создали свою игру Ping pong.

pingpong2

Скачать пример игры PingPong

Следующий урок

🎥 Видео

How to make Pong in Godot 4 in 9 minutesСкачать

How to make Pong in Godot 4 in 9 minutes

Создание 2D платформера в Godot за 30 минут / Изучение движка GodotСкачать

Создание 2D платформера в Godot за 30 минут / Изучение движка Godot

Beginner Godot Tutorial - How to Make Pong with AIСкачать

Beginner Godot Tutorial - How to Make Pong with AI

How to make Ping Pong in Godot 4 (Complete Tutorial) 🏓🎮Скачать

How to make Ping Pong in Godot 4 (Complete Tutorial) 🏓🎮

ПРОСТАЯ игра на Godot Engine ДЛЯ НОВИЧКОВСкачать

ПРОСТАЯ игра на Godot Engine ДЛЯ НОВИЧКОВ

Creating Pong In Godot Game Engine Episode #1Скачать

Creating Pong In Godot Game Engine Episode #1

твоя первая игра за 1 деньСкачать

твоя первая игра за 1 день

ШемКодит#10. Godot. PingPong с анимацией за час!Скачать

ШемКодит#10. Godot. PingPong с анимацией за час!

Создание 3D игры в Godot за час / Уроки Godot Engine 3DСкачать

Создание 3D игры в Godot за час / Уроки Godot Engine 3D

С ЭТИМ ты сможешь делать ЛЮБЫЕ ИГРЫ на ТЕЛЕФОНЕ! Обзор Godot EngineСкачать

С ЭТИМ ты сможешь делать ЛЮБЫЕ ИГРЫ на ТЕЛЕФОНЕ! Обзор Godot Engine

Simple Pong Game (Godot Engine)Скачать

Simple Pong Game (Godot Engine)

Godot Ping Pong Game using RaycastsСкачать

Godot Ping Pong Game using Raycasts

[Judlup] | Ping Pong GodotСкачать

[Judlup] | Ping Pong Godot

Программирование игр в среде разработки Godot PongСкачать

Программирование игр в среде разработки Godot  Pong

Ping Pong in GodotСкачать

Ping Pong in Godot

Как начать делать игры на Godot / Создаем платформер с нуля #1Скачать

Как начать делать игры на Godot / Создаем платформер с нуля #1
Поделиться или сохранить к себе:
Технологичная помощь
Добавить комментарий

Нажимая на кнопку "Отправить комментарий", я даю согласие на обработку персональных данных, принимаю Политику конфиденциальности и условия Пользовательского соглашения.