Unity'de 2D Tuğla Kırıcı Oyunu Oluşturma

Unity geliştiricilerin Brick Breaker gibi klasik 2D atari oyunları da dahil olmak üzere çeşitli türde oyunlar oluşturmasına olanak tanıyan güçlü bir oyun geliştirme motorudur. Bu eğitimde Unity'de 2D Brick Breaker oyunu oluşturma sürecinde size rehberlik edeceğiz. Bu eğitimin sonunda, oyuncuların raket ve top kullanarak tuğlaları kırabileceği tamamen işlevsel bir Brick Breaker oyununa sahip olacaksınız.

Önkoşullar

Bu eğitime başlamadan önce aşağıdakilere sahip olduğunuzdan emin olun:

  • Unity sisteminizde yüklü (sürüm 2019.4 veya üzeri önerilir).
  • Unity'nin arayüzü ve C# programlamasının temel anlayışı.
  • Unity'nin sprite, çarpıştırıcı ve fizik gibi 2 boyutlu özelliklerine aşinalık.

Kısa Açıklama: Tuğla Kırma Oyunları Nedir?

Breakout veya Arkanoid olarak da bilinen Brick Breaker, oyuncunun ekranın alt kısmındaki bir raketi kontrol ettiği ve topu üstteki tuğlalardan oluşan bir duvara doğru sektirmek için yatay olarak hareket ettirdiği klasik bir atari oyunudur. Amaç, topu raketle saptırarak tüm tuğlaları kırmak ve ekranın altından düşmesini engellemektir.

Adım 1: Projeyi Kurma

  • Unity'i açın ve yeni bir 2D proje oluşturun.
  • Proje adı, konum ve şablon gibi ayarları yapılandırarak projenizi oluşturun.

Adım 2: Varlıkları İçe Aktarma

Brick Breaker oyunumuzu oluşturmak için bazı varlıklara ihtiyacımız olacak. Ücretsiz veya satın alınan varlıkları çevrimiçi olarak bulabilir veya kendinizinkini oluşturabilirsiniz. Bu eğitim için Unity'nin Standart Varlıklar paketinde bulunan basit varlıkları kullanacağız.

  • 'Assets -> Import Package -> Characters''ye gidin.
  • Paddle ve Ball hazır yapılarını Karakterler paketinden içe aktarın. Bu prefabrik yapılar bizim raket ve top spritelarımız olarak hizmet edecek.

Adım 3: Ortamı Yaratmak

  • Oyun alanını temsil edecek bir arka plan grafiği oluşturarak oyun sahnesini ayarlayın.
  • İçe aktarılan Paddle hazır yapısını kullanarak bir raket GameObject oluşturun.
  • İçe aktarılan Ball hazır yapısını kullanarak bir top GameObject örneği oluşturun.
  • Unity'nin yerleşik araçlarını kullanarak tek tek tuğla spriteları yerleştirerek veya bir tuğla ızgarası oluşturarak tuğla düzenini tasarlayın.

Adım 4: Oyun Mekaniğini Uygulamak

  • Kürek hareketini gerçekleştirmek için "PaddleController" adında yeni bir C# betiği oluşturun.
  • Yatay eksenden girişi okumak ve raketi buna göre hareket ettirmek için Update() yöntemindeki kodu uygulayın.
  • Top hareketini ve çarpışma algılamayı yönetmek için "BallController" adında yeni bir C# betiği oluşturun.
  • Topun tutarlı bir yönde hareket etmesini ve duvarlardan, küreklerden ve tuğlalardan sekmesini sağlayacak kodu uygulayın.

'PaddleController.cs'

using UnityEngine;

public class PaddleController : MonoBehaviour
{
    public float paddleSpeed = 5f; // Adjust the paddle speed as needed

    void Update()
    {
        // Read input from the horizontal axis
        float moveInput = Input.GetAxis("Horizontal");

        // Move the paddle accordingly
        transform.Translate(Vector3.right * moveInput * paddleSpeed * Time.deltaTime);
    }
}

'BallController.cs'

using UnityEngine;

public class BallController : MonoBehaviour
{
    public float ballSpeed = 6f; // Adjust the ball speed as needed
    private Rigidbody2D rb;

    void Start()
    {
        rb = GetComponent<Rigidbody2D>();
        // Set initial ball movement direction
        rb.velocity = Vector2.up * ballSpeed;
    }

    void OnCollisionEnter2D(Collision2D collision)
    {
        // Check if the ball collides with walls, paddles, or bricks
        if (collision.gameObject.CompareTag("Wall") || collision.gameObject.CompareTag("Paddle") || collision.gameObject.CompareTag("Brick"))
        {
            // Reflect the ball's velocity upon collision
            Vector2 reflection = Vector2.Reflect(rb.velocity, collision.contacts[0].normal);
            rb.velocity = reflection.normalized * ballSpeed;
        }
    }
}

Adım 5: Tuğla İmhası Ekleme

  • Tuğlalarla çarpışmaları tespit etmek için BallController betiğinde mantık uygulayın.
  • Çarpışma üzerine tuğla GameObject'i yok edin ve oyuncunun puanını güncelleyin.
  • Tuğla yıkımını belirtmek için ses efektleri veya görsel efektler ekleyin.

Adım 6: Game Over'ı Uygulamak

  • Oyunun durumunu yönetmek ve oyun bitti koşullarını yönetmek için "GameManager" adlı bir komut dosyası oluşturun.
  • Topun ekranın altından düştüğünü algılayan ve oyunun bittiğini gösteren mantığı uygulayın.
  • Ekranda bir oyun görüntüleyin veya oyuncudan oyunu yeniden başlatmasını isteyin.

Adım 7: Test Etme ve İyileştirme

Sorunsuz bir oynanış sağlamak ve tüm hataları veya sorunları gidermek için Brick Breaker oyununuzu Unity Düzenleyicide test edin. Oyun deneyimini optimize etmek için raket hızı, top hızı ve tuğla düzeni gibi parametrelerde ince ayarlar yapın.

Çözüm

Unity'de bir 2D Brick Breaker oyunu yarattınız. Brick Breaker oyunları, oyuncuları bir raket ve top kullanarak tüm tuğlaları kırmaya zorlayan basit ama bağımlılık yaratan oyun mekaniği sunar. Buradan güçlendirmeler, çoklu seviyeler ve özelleştirilebilir tuğla desenleri gibi özellikler ekleyerek oyununuzu daha da geliştirebilirsiniz. Kendi benzersiz Brick Breaker deneyiminizi yaratmak için farklı varlıklar, mekanikler ve tasarımlarla denemeler yapın.

Önerilen Makaleler
Unity'de Kayan Bulmaca Oyunu Oluşturma
Unity'de Flappy Bird'den Esinlenen Bir Oyun Nasıl Yapılır
Unity için Sonsuz Koşucu Eğitimi
Unity'de Mini Oyun | CUBEkaçının
Unity'de 3'lü Eşleştirme Bulmaca Oyunu Eğitimi
Çiftlik Zombileri | Unity'de 2D Platform Oyununun Yapımı
Unity'de Mini Oyun | Flappy Küp