Створення гри Canon в Unity за допомогою C#
У цьому посібнику ми створимо просту гру Canon за допомогою Unity і C#. Ви дізнаєтесь про основи налаштування проекту Unity, створення ігрових об’єктів, обробки даних, введених користувачем, і реалізації ігрової механіки.
передумови
Щоб слідувати, переконайтеся, що у вас є:
- Unity встановлений на вашому комп’ютері (версія 20xx.x або новіша)
- Базове розуміння інтерфейсу Unity та налаштування сцени
- Знайомство з мовою програмування C#
Налаштування проекту
Почнемо з налаштування нового проекту Unity:
- Відкрийте Unity Hub і натисніть New, щоб створити новий проект.
- Виберіть шаблон (3D або 2D) і назвіть свій проект (наприклад, CanonGame).
- Натисніть Create, щоб створити проект.
Створення Canon GameObject
Далі ми створимо об’єкт Canon у нашій сцені:
- На панелі «Ієрархія» клацніть правою кнопкою миші та виберіть Create Empty, щоб створити новий GameObject.
- Перейменуйте GameObject на "Canon".
- Клацніть правою кнопкою миші "Canon" в ієрархії та виберіть 3D Object -> Cylinder, щоб створити форму циліндра для нашого канону.
- Розташуйте та змініть масштаб циліндра так, щоб він нагадував канон.
Написання Canon Script на C#
Тепер давайте напишемо сценарій для керування каноном:
- На панелі «Проект» створіть нову папку з назвою "Scripts".
- Клацніть правою кнопкою миші папку "Scripts" і виберіть Create -> C# Script.
- Назвіть скрипт "CanonController".
- Двічі клацніть на сценарії, щоб відкрити його у бажаному редакторі коду.
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
Давайте додамо функцію обертання та стрільби з гармати:
- У сценарії
CanonController
оголосите змінні для керування обертанням гармати та стрільбою. - У методі
Update
обробіть введені користувачем дані, щоб обертати канон ліворуч і праворуч. - Додайте метод керування стрільбою з гармати (наприклад, створення екземпляра гарматного ядра).
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 і пограємо в неї:
- Збережіть сценарій і поверніться до Unity.
- Приєднайте сценарій
CanonController
до "Canon" GameObject, перетягнувши його на панель інспектора "Canon" GameObject. - Натисніть кнопку Грати в Unity, щоб запустити гру.
- Використовуйте клавіші зі стрілками або клавіші A/D, щоб повертати канон.
- Натисніть пробіл, щоб запустити канон (реалізація цієї функції необов’язкова на основі вашого сценарію).
Висновок
Щиро вітаю! Ви створили просту гру Canon Unity за допомогою C#. Ви навчилися налаштовувати проект Unity, створювати GameObjects, писати сценарії на C# та реалізувати базову ігрову механіку. Звідси ви можете розширювати та покращувати свою гру.