Membuat Sistem Bullet 2D Sederhana di Unity

Unity, salah satu mesin pengembangan game paling populer, menawarkan platform serbaguna untuk menciptakan pengalaman yang imersif dan interaktif. Pada artikel ini, kita akan mempelajari cara membuat bullet system sederhana di Unity menggunakan skrip C#. Baik Anda sedang mengembangkan penembak ruang 2D atau game klasik top-down, memahami dasar-dasar sistem peluru sangatlah penting.

Langkah 1: Siapkan Proyek Unity Anda

  • Sebelum mendalami kodenya, pastikan Anda telah Unity menginstal dan membuat proyek 2D baru. Setelah proyek Anda disiapkan, ikuti langkah-langkah berikut untuk menerapkan sistem poin sederhana.

Langkah 2: Buat Prefab Peluru

  • Di Unity, prefabs adalah templat objek permainan yang dapat digunakan kembali. Buat GameObject kosong baru dan attach sprite untuk mewakili poin Anda. Setelah puas dengan tampilannya, ubah menjadi prefab dengan cara drag ke folder Assets.

Langkah 3: Tulis Skrip Peluru

  • Buat skrip C# baru untuk sistem poin Anda. Klik kanan di folder Assets, pilih Create -> C# Script, dan beri nama "BulletScript".

Buka skrip dan terapkan kode berikut:

using UnityEngine;

public class BulletScript : MonoBehaviour
{
    public float speed = 10f;

    void Start()
    {
        // Add a Rigidbody2D component and set collision detection to Continuous
        Rigidbody2D rb = GetComponent<Rigidbody2D>();
        rb.collisionDetectionMode = CollisionDetectionMode2D.Continuous;
        rb.velocity = transform.up * speed;
    }

    void OnTriggerEnter2D(Collider2D other)
    {
        // Destroy the bullet if it hits an enemy or goes out of bounds
        if (other.CompareTag("Enemy") || other.CompareTag("Bounds"))
        {
            Destroy(gameObject);
        }
    }
}

Skrip di atas mendefinisikan perilaku poin dasar untuk game 2D. Peluru bergerak maju terus menerus, memanfaatkan komponen 'Rigidbody2D' untuk memastikan interaksi fisika yang realistis. Ia menghancurkan dirinya sendiri saat bertabrakan dengan objek yang ditandai sebagai "Enemy" atau "Bounds".

Langkah 4: Lampirkan Script ke Bullet Prefab

  • Seret "BulletScript" ke cetakan poin di folder Aset. Ini mengaitkan skrip dengan prefab, memungkinkan setiap contoh bullet menunjukkan perilaku yang ditentukan.

Langkah 5: Buat Instansiasi Peluru di Game Anda

  • Sekarang, Anda memerlukan mekanisme untuk membuat instance peluru selama bermain game. Hal ini dapat dipicu oleh masukan pemain atau penembakan otomatis.

Buat skrip lain, seperti "PlayerController", dan lampirkan ke GameObject pemain Anda. Terapkan kode berikut:

using UnityEngine;

public class PlayerController : MonoBehaviour
{
    public GameObject bulletPrefab;
    public Transform firePoint;

    void Update()
    {
        // Check for user input or other conditions to trigger firing
        if (Input.GetKeyDown(KeyCode.Space))
        {
            FireBullet();
        }
    }

    void FireBullet()
    {
        // Instantiate a bullet at the fire point
        Instantiate(bulletPrefab, firePoint.position, firePoint.rotation);
    }
}

Script di atas memungkinkan pemain menembakkan peluru ketika tombol spasi ditekan. Sesuaikan kondisi dan metode input sesuai dengan kebutuhan game Anda.

Langkah 6: Siapkan Adegan

Dalam adegan Unity Anda, buat GameObject pemain dan lampirkan skrip "PlayerController" ke dalamnya. Juga, buat GameObject musuh dan beri tag sebagai "Enemy". Jika game Anda memiliki batasan, buat GameObjects untuk batasan tersebut dan beri tag sebagai "Bounds".

Kesimpulan

Dengan langkah-langkah ini, Anda telah berhasil menerapkan bullet system sederhana di Unity untuk game 2D. Anda sekarang memiliki dasar untuk memperluas dan meningkatkan permainan Anda dengan menambahkan fitur seperti pola peluru, perilaku musuh, dan peningkatan kekuatan. Bereksperimenlah dengan kode, sesuaikan visualnya, dan ulangi game Anda untuk mewujudkan visi kreatif Anda.