Створення гри Canon в Unity за допомогою C#

У цьому посібнику ми створимо просту гру Canon за допомогою Unity і C#. Ви дізнаєтесь про основи налаштування проекту Unity, створення ігрових об’єктів, обробки даних, введених користувачем, і реалізації ігрової механіки.

передумови

Щоб слідувати, переконайтеся, що у вас є:

  • Unity встановлений на вашому комп’ютері (версія 20xx.x або новіша)
  • Базове розуміння інтерфейсу Unity та налаштування сцени
  • Знайомство з мовою програмування C#

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

Почнемо з налаштування нового проекту Unity:

  1. Відкрийте Unity Hub і натисніть New, щоб створити новий проект.
  2. Виберіть шаблон (3D або 2D) і назвіть свій проект (наприклад, CanonGame).
  3. Натисніть Create, щоб створити проект.

Створення Canon GameObject

Далі ми створимо об’єкт Canon у нашій сцені:

  1. На панелі «Ієрархія» клацніть правою кнопкою миші та виберіть Create Empty, щоб створити новий GameObject.
  2. Перейменуйте GameObject на "Canon".
  3. Клацніть правою кнопкою миші "Canon" в ієрархії та виберіть 3D Object -> Cylinder, щоб створити форму циліндра для нашого канону.
  4. Розташуйте та змініть масштаб циліндра так, щоб він нагадував канон.

Написання Canon Script на C#

Тепер давайте напишемо сценарій для керування каноном:

  1. На панелі «Проект» створіть нову папку з назвою "Scripts".
  2. Клацніть правою кнопкою миші папку "Scripts" і виберіть Create -> C# Script.
  3. Назвіть скрипт "CanonController".
  4. Двічі клацніть на сценарії, щоб відкрити його у бажаному редакторі коду.
using UnityEngine;

public class CanonController : MonoBehaviour
{
    // Variables for canon rotation and firing logic

    void Start()
    {
        // Initialization code
    }

    void Update()
    {
        // Update code (e.g., check for user input)
    }
}

Додавання функціональності Canon

Давайте додамо функцію обертання та стрільби з гармати:

  1. У сценарії CanonController оголосите змінні для керування обертанням гармати та стрільбою.
  2. У методі Update обробіть введені користувачем дані, щоб обертати канон ліворуч і праворуч.
  3. Додайте метод керування стрільбою з гармати (наприклад, створення екземпляра гарматного ядра).
using UnityEngine;

public class CanonController : MonoBehaviour
{
    // Define variables for canon rotation speed
    public float rotationSpeed = 5f;

    // Define variables for cannonball prefab and firing position
    public GameObject cannonballPrefab;  // Assign in Unity Editor
    public Transform firePoint;  // Assign fire point transform in Unity Editor

    void Update()
    {
        // Handle canon rotation based on user input
        float horizontalInput = Input.GetAxis("Horizontal");
        transform.Rotate(Vector3.up, horizontalInput * rotationSpeed * Time.deltaTime);

        // Handle canon firing when spacebar is pressed
        if (Input.GetKeyDown(KeyCode.Space))
        {
            FireCanon();
        }
    }

    void FireCanon()
    {
        // Check if cannonball prefab and fire point are assigned
        if (cannonballPrefab != null && firePoint != null)
        {
            // Instantiate a cannonball at the fire point position and rotation
            GameObject cannonball = Instantiate(cannonballPrefab, firePoint.position, firePoint.rotation);
            
            // Add force to the cannonball (example: forward direction with speed)
            float cannonballSpeed = 10f;
            cannonball.GetComponent<Rigidbody>().velocity = firePoint.forward * cannonballSpeed;
        }
        else
        {
            Debug.LogError("Cannonball prefab or fire point is not assigned.");
        }
    }
}

Тестування та гра в гру

Тепер давайте протестуємо нашу гру Canon і пограємо в неї:

  1. Збережіть сценарій і поверніться до Unity.
  2. Приєднайте сценарій CanonController до "Canon" GameObject, перетягнувши його на панель інспектора "Canon" GameObject.
  3. Натисніть кнопку Грати в Unity, щоб запустити гру.
  4. Використовуйте клавіші зі стрілками або клавіші A/D, щоб повертати канон.
  5. Натисніть пробіл, щоб запустити канон (реалізація цієї функції необов’язкова на основі вашого сценарію).

Висновок

Щиро вітаю! Ви створили просту гру Canon Unity за допомогою C#. Ви навчилися налаштовувати проект Unity, створювати GameObjects, писати сценарії на C# та реалізувати базову ігрову механіку. Звідси ви можете розширювати та покращувати свою гру.