Unity'de Envantersiz Alma ve Bırakma Sistemi

Bu eğitimde Unity'de envanter sistemi kullanmadan basit bir alma ve bırakma sistemi oluşturacağız. Bu sistem, oyuncunun çevredeki nesneleri alıp farklı bir yere bırakmasına olanak tanıyacak.

Önkoşullar

  • Unity Hub kuruldu
  • Unity Düzenleyici (sürüm 2019 veya üzeri)
  • Temel C# bilgisi

Projenin Kurulumu

  1. Unity Hub'ı açın ve yeni bir Unity projesi oluşturun.
  2. Sahnenizi bir oyuncu karakteri ve etkileşime girebileceğiniz bazı nesnelerle ayarlayın.

Alma ve Bırakma Sisteminin Uygulanması

1. Adım: Bir Teslim Alma Komut Dosyası Oluşturun

using UnityEngine;

public class Pickup : MonoBehaviour
{
    private Transform heldObject;
    private Vector3 offset;

    void Update()
    {
        if (heldObject != null)
        {
            MoveHeldObject();
            CheckDrop();
        }
        else
        {
            CheckPickup();
        }
    }

    void MoveHeldObject()
    {
        Vector3 mousePosition = Camera.main.ScreenToWorldPoint(Input.mousePosition);
        heldObject.position = new Vector3(mousePosition.x + offset.x, mousePosition.y + offset.y, 0);
    }

    void CheckPickup()
    {
        if (Input.GetMouseButtonDown(0))
        {
            RaycastHit2D hit = Physics2D.Raycast(Camera.main.ScreenToWorldPoint(Input.mousePosition), Vector2.zero);
            if (hit.collider != null && hit.collider.CompareTag("Pickup"))
            {
                heldObject = hit.transform;
                offset = heldObject.position - Camera.main.ScreenToWorldPoint(Input.mousePosition);
            }
        }
    }

    void CheckDrop()
    {
        if (Input.GetMouseButtonDown(1))
        {
            heldObject = null;
        }
    }
}

Adım 2: Alma Nesnelerine Etiketler Ekleme

Oyuncunun almasını istediğiniz nesneleri "Pickup" etiketiyle etiketleyin.

  1. Sahnedeki bir nesneyi seçin.
  2. Denetçi penceresinde "Tag" açılır menüsüne tıklayın.
  3. "Add Tag"'yi seçin ve "Pickup"'u girin.
  4. Etiketi nesneye uygulayın.

Adım 3: Sistemin Test Edilmesi

  1. Sahnenize "Pickup" etiketli bazı nesneler ekleyin.
  2. Sahneyi Unity formatında oynatın.
  3. Etiketli bir nesneyi almak için üzerine tıklayın.
  4. Tutulan nesneyi bırakmak için sağ tıklayın.

Çözüm

Unity'de envanter kullanmadan basit bir alma ve bırakma sistemini başarıyla uyguladınız. Bu sistem, oyuncunun sahnedeki nesneleri alıp farklı konumlara bırakarak etkileşime girmesine olanak tanır. Nesne yakalama, nesne döndürme veya daha karmaşık etkileşimler gibi özellikler ekleyerek bu sistemi genişletmekten çekinmeyin.

Önerilen Makaleler
Unity'de Keskin Nişancı Kapsamı Etkisi Nasıl Eklenir?
Unity'de Basit 2D Madde İşareti Sistemi Oluşturma
Çekmece ve Dolapların Özel Anahtarlarla Birlik İçinde Açılması
Unity'de Sıra Tabanlı Oyunlar Yapmak
Unity'de İşaret Fişeği Ateşleme Mantığı
Birlik İçinde Anahtarla Kapı Açma Eğitimi
Unity için Mantığı Kaydetme ve Yükleme