Tạo trò chơi Canon trong Unity bằng C#

Trong hướng dẫn này, chúng ta sẽ tạo một trò chơi Canon đơn giản bằng Unity và C#. Bạn sẽ học những điều cơ bản về thiết lập dự án Unity, tạo đối tượng trò chơi, xử lý đầu vào của người dùng và triển khai cơ chế trò chơi.

Điều kiện tiên quyết

Để làm theo, hãy đảm bảo bạn có:

  • Unity được cài đặt trên máy tính của bạn (phiên bản 20xx.x trở lên)
  • Hiểu biết cơ bản về giao diện và thiết lập cảnh của Unity
  • Làm quen với ngôn ngữ lập trình C#

Thiết lập dự án

Hãy bắt đầu bằng cách thiết lập một dự án Unity mới:

  1. Mở Unity Hub và nhấp vào Mới để tạo một dự án mới.
  2. Chọn một mẫu (3D hoặc 2D) và đặt tên cho dự án của bạn (ví dụ: CanonGame).
  3. Nhấp vào Create để tạo dự án.

Tạo Canon GameObject

Tiếp theo, chúng ta sẽ tạo đối tượng Canon trong cảnh của mình:

  1. Trong bảng Phân cấp, nhấp chuột phải và chọn Create Empty để tạo GameObject mới.
  2. Đổi tên GameObject thành "Canon".
  3. Nhấp chuột phải vào "Canon" trong Hierarchy và chọn 3D Object -> Cylinder để tạo hình trụ cho khẩu pháo của chúng ta.
  4. Định vị và chia tỷ lệ hình trụ sao cho giống với hình kinh điển.

Viết Canon Script bằng C#

Bây giờ chúng ta hãy viết một script để điều khiển canon:

  1. Trong bảng Project, tạo một thư mục mới có tên "Scripts".
  2. Nhấp chuột phải vào thư mục "Scripts" và chọn Create -> C# Script.
  3. Đặt tên script là "CanonController".
  4. Nhấp đúp vào tập lệnh để mở nó trong trình soạn thảo mã ưa thích của bạn.
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)
    }
}

Thêm Chức Năng cho Canon

Hãy thêm chức năng xoay và bắn pháo:

  1. Trong tập lệnh CanonController, khai báo các biến để điều khiển việc xoay và kích hoạt canon.
  2. Trong phương thức Update, xử lý thông tin nhập của người dùng để xoay tiêu chuẩn sang trái và phải.
  3. Thêm phương thức để xử lý việc bắn pháo (ví dụ: khởi tạo một quả đạn pháo).
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.");
        }
    }
}

Kiểm tra và chơi trò chơi

Bây giờ, chúng ta hãy thử nghiệm và chơi trò chơi Canon của mình:

  1. Lưu tập lệnh và quay lại Unity.
  2. Đính kèm tập lệnh CanonController vào "Canon" GameObject bằng cách kéo tập lệnh đó vào bảng Thanh tra của "Canon" GameObject.
  3. Nhấn nút Play ở Unity để chạy trò chơi.
  4. Sử dụng các phím mũi tên hoặc phím A/D để xoay pháo.
  5. Nhấn phím cách để bắn pháo (việc triển khai chức năng này là tùy chọn dựa trên tập lệnh của bạn).

Phần kết luận

Xin chúc mừng! Bạn đã tạo một trò chơi Canon đơn giản trong Unity bằng C#. Bạn đã học cách thiết lập một dự án Unity, tạo GameObject, viết tập lệnh trong C# và triển khai cơ chế trò chơi cơ bản. Từ đây, bạn có thể mở rộng và cải thiện trò chơi của mình hơn nữa.