Як створити гру Cannon в Unity

Створення гарматної гри в Unity — чудовий спосіб навчитися основам розробки ігор. У цьому підручнику ми створимо просту гру, де гравець зможе прицілитися та стріляти з гармати, щоб вразити цілі. Ми розглянемо налаштування проекту, створення та керування гарматою та додавання цілей.

Крок 1: Налаштування проекту

Спочатку відкрийте Unity і створіть новий 2D-проект. Назвіть свій проект "CannonGame". Після створення проекту ви опинитеся в головному вікні редактора Unity.

Крок 2: Створення гармати

Нам потрібно візуальне зображення гармати. Ви можете створити простий прямокутний спрайт, який буде вашою гарматою. Зробити це:

  1. Клацніть правою кнопкою миші у вікні Hierarchy і виберіть Create Empty. Назвіть його "Cannon".
  2. Клацніть правою кнопкою миші на об’єкт "Cannon" і виберіть 2D Object -> Sprite. Назвіть його "CannonSprite".
  3. У вікні Inspector натисніть поле Sprite і виберіть спрайт для вашої гармати.

Розташуйте гармату в нижній частині екрана, встановивши для неї значення (0, -4, 0) у компоненті Transform.

Тепер створіть сценарій для керування гарматою. Клацніть правою кнопкою миші папку Assets, виберіть Create -> C# Script і назвіть його "CannonController". Двічі клацніть сценарій, щоб відкрити його в редакторі коду.

// CannonController.cs
using UnityEngine;

public class CannonController : MonoBehaviour
{
    public GameObject cannonballPrefab;
    public float shootForce = 700f;

    void Update()
    {
        Aim();
        if (Input.GetButtonDown("Fire1"))
        {
            Shoot();
        }
    }

    void Aim()
    {
        Vector3 mousePosition = Camera.main.ScreenToWorldPoint(Input.mousePosition);
        Vector2 direction = new Vector2(mousePosition.x - transform.position.x, mousePosition.y - transform.position.y);
        transform.up = direction;
    }

    void Shoot()
    {
        GameObject cannonball = Instantiate(cannonballPrefab, transform.position, transform.rotation);
        Rigidbody2D rb = cannonball.GetComponent();
        rb.AddForce(transform.up * shootForce);
    }
}

Крок 3: Створення гарматного ядра

Нам потрібно створити гарматне ядро, щоб гармата стріляла. Ось як:

  1. Клацніть правою кнопкою миші у вікні Hierarchy і виберіть 2D Object -> Sprite. Назвіть його "Cannonball".
  2. У вікні Inspector натисніть поле Sprite і виберіть спрайт для свого гарматного ядра.
  3. Додайте компонент Rigidbody2D до гарматного ядра, натиснувши Add Component і вибравши Rigidbody2D.
  4. Додайте компонент CircleCollider2D до гарматного ядра, натиснувши Додати компонент і вибравши CircleCollider2D.

Потім перетягніть гарматне ядро ​​з Hierarchy до папки Assets, щоб створити префаб. Ця панель буде використовуватися гарматою, щоб стріляти гарматними ядрами.

У вікні Inspector сценарію CannonController (прикріпленого до об’єкта Cannon) встановіть поле CannonballPrefab на префаб cannonball.

Крок 4: Створення цілей

Давайте додамо кілька мішеней, по яких гравець може стріляти:

  1. Клацніть правою кнопкою миші у вікні Hierarchy і виберіть 2D Object -> Sprite. Назвіть його "Target".
  2. У вікні Inspector натисніть поле Sprite і виберіть спрайт для вашої цілі.
  3. Додайте компонент BoxCollider2D до цілі, натиснувши Додати компонент і вибравши BoxCollider2D.

Створіть копію цілі, клацнувши її правою кнопкою миші та вибравши Duplicate. Розмістіть мішені навколо екрана.

Крок 5: Обробка зіткнень

Нам потрібно впоратися з тим, що відбувається, коли гарматне ядро ​​влучає в ціль. Створіть сценарій під назвою "Target", щоб керувати цим:

  1. Клацніть правою кнопкою миші папку Assets, виберіть Create -> C# Script і назвіть його "Target".
  2. Двічі клацніть сценарій, щоб відкрити його в редакторі коду.
// Target.cs
using UnityEngine;

public class Target : MonoBehaviour
{
    void OnCollisionEnter2D(Collision2D collision)
    {
        if (collision.gameObject.CompareTag("Cannonball"))
        {
            Destroy(gameObject);
        }
    }
}

Приєднайте сценарій Target до всіх цільових об’єктів. Переконайтеся, що ваш збірний гарматний ядро ​​має тег "Cannonball".

Висновок

Виконуючи ці кроки, ви створили просту гру з гарматами в Unity. Ви навчилися створювати проект, створювати гармату та керувати нею, а також додавати цілі. Цей проект охоплює основні концепції розробки ігор, такі як створення об’єктів, введення користувачами, фізика та виявлення зіткнень. Ви можете покращити цю гру, додавши такі функції, як підрахунок очок, рівні та різні типи цілей. Отримуйте задоволення від експериментів і дізнайтеся більше про Unity!