Membuat Game Canon di Unity dengan C#
Dalam tutorial ini, kita akan membuat game Canon sederhana menggunakan Unity dan C#. Anda akan mempelajari dasar-dasar menyiapkan proyek Unity, membuat objek game, menangani input pengguna, dan mengimplementasikan mekanisme game.
Prasyarat
Untuk mengikutinya, pastikan Anda memiliki:
- Unity diinstal di komputer Anda (versi 20xx.x atau lebih baru)
- Pemahaman dasar tentang antarmuka Unity dan pengaturan adegan
- Familiar dengan bahasa pemrograman C#
Menyiapkan Proyek
Mari kita mulai dengan menyiapkan proyek Unity baru:
- Buka Unity Hub dan klik New untuk membuat proyek baru.
- Pilih templat (3D atau 2D) dan beri nama proyek Anda (misalnya CanonGame).
- Klik Create untuk membuat proyek.
Membuat GameObject Canon
Berikutnya, kita akan membuat objek Canon di adegan kita:
- Di panel Hierarchy, klik kanan dan pilih Create Blank untuk membuat GameObject baru.
- Ganti nama GameObject menjadi "Canon".
- Klik kanan pada "Canon" di Hierarchy dan pilih 3D Object -> Cylinder untuk membuat bentuk silinder untuk kanon kita.
- Posisikan dan skalakan silinder agar menyerupai kanon.
Menulis Skrip Canon dalam C#
Sekarang, mari kita menulis skrip untuk mengontrol kanon:
- Di panel Proyek, buat folder baru bernama "Scripts".
- Klik kanan pada folder "Scripts" dan pilih Create -> C# Script.
- Beri nama skrip "CanonController".
- Klik dua kali pada skrip untuk membukanya di editor kode pilihan Anda.
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)
}
}
Menambahkan Fungsionalitas ke Canon
Mari tambahkan fungsi untuk memutar dan menembakkan kanon:
- Dalam skrip
CanonController
, nyatakan variabel untuk mengontrol rotasi dan penembakan kanon. - Dalam metode
Update
, menangani masukan pengguna untuk memutar kanon ke kiri dan kanan. - Tambahkan metode untuk menangani penembakan kanon (misalnya, membuat contoh bola meriam).
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.");
}
}
}
Menguji dan Memainkan Game
Sekarang, mari kita uji dan mainkan game Canon kita:
- Simpan skrip dan kembali ke Unity.
- Lampirkan skrip
CanonController
ke GameObject "Canon" dengan menyeretnya ke panel Inspector pada GameObject "Canon". - Tekan tombol Putar di Unity untuk menjalankan permainan.
- Gunakan tombol panah atau tombol A/D untuk memutar kanon.
- Tekan Spasi untuk menembakkan kanon (menerapkan fungsi ini bersifat opsional berdasarkan skrip Anda).
Kesimpulan
Selamat! Anda telah membuat game Canon sederhana di Unity menggunakan C#. Anda telah mempelajari cara menyiapkan proyek Unity, membuat GameObjects, menulis skrip dalam C#, dan menerapkan mekanisme permainan dasar. Dari sini, Anda dapat memperluas dan menyempurnakan game Anda lebih jauh.