Unity'de Clash of Clans benzeri bir oyun oluşturma
Bu eğitimde, Unity'de Clash of Clans'a benzer basit bir oyun oluşturma adımlarını ele alacağız. Bu, oyun ortamını kurmayı, bir kullanıcı arayüzü oluşturmayı, yapı mekaniklerini uygulamayı ve kaynakları yönetmeyi içerecektir.
Projenin Kurulumu
Yeni bir Unity projesi oluşturarak başlayın:
- Unity Hub'ı açın ve Yeni Proje'e tıklayın.
- 2D'i seçin ve projenize ClashOfClansClone adını verin.
- Oluştur'e tıklayın.
Oyun Ortamının Oluşturulması
Clash of Clans benzeri bir oyun için köyünüzü inşa edebileceğiniz bir haritaya ihtiyacınız olacak.
- Yeni bir sahne oluşturun ve adını MainScene koyun.
- Köyünüz için bir arka plan oluşturmak için Hiyerarşi'e sağ tıklayın, 2D Nesne > Sprite'i seçin.
- Çimen fayansları ve bina sprite'ları gibi varlıkları içe aktarın. Unity Asset Store'dan ücretsiz varlıkları kullanabilir veya kendinizinkini oluşturabilirsiniz.
Oyuncu Kaynaklarını Ayarlama
Oyuncuların yapı inşa etmek için kaynaklara ihtiyacı vardır. Basit bir kaynak yönetim sistemi oluşturalım.
using UnityEngine;
public class ResourceManager : MonoBehaviour
{
public int gold;
public int elixir;
public void AddGold(int amount)
{
gold += amount;
}
public void AddElixir(int amount)
{
elixir += amount;
}
}
Prefabrik Binaların Oluşturulması
Binalar için prefabrikler oluşturun (örneğin, Altın Madeni, İksir Toplayıcı). Basit bir binayı nasıl kuracağınız aşağıda açıklanmıştır:
- Binanız için yeni bir GameObject oluşturmak için Hiyerarşi'e sağ tıklayın ve 2D Nesne > Sprite'i seçin.
- Adını GoldMine koyun ve varlıklarınızdan bir sprite atayın.
- İnşa mantığını yönetmek için Building adında bir betik ekleyin.
using UnityEngine;
public class Building : MonoBehaviour
{
public int productionRate;
public ResourceManager resourceManager;
private float timer;
void Update()
{
timer += Time.deltaTime;
if (timer >= 1f) // Every second
{
resourceManager.AddGold(productionRate);
timer = 0f;
}
}
}
Bina Yerleşiminin Uygulanması
Oyuncuların haritaya binalar yerleştirmesine izin verin. Binaları yerleştirmek için basit bir fare tıklaması algılama kullanabiliriz.
using UnityEngine;
public class BuildingPlacer : MonoBehaviour
{
public GameObject buildingPrefab;
public ResourceManager resourceManager;
void Update()
{
if (Input.GetMouseButtonDown(0))
{
Vector3 mousePos = Camera.main.ScreenToWorldPoint(Input.mousePosition);
mousePos.z = 0; // Set z to 0 for 2D
// Check for enough resources
if (resourceManager.gold >= 100) // Example cost
{
Instantiate(buildingPrefab, mousePos, Quaternion.identity);
resourceManager.AddGold(-100); // Deduct cost
}
}
}
}
Kullanıcı Arayüzünün Oluşturulması
Oyuncu kaynaklarını ve yapı seçeneklerini görüntülemek için basit bir kullanıcı arayüzü kurun:
- Hiyerarşi'e sağ tıklayın, UI > Canvas'i seçin.
- Canvas'ın içerisinde altın ve iksir miktarlarını gösterecek bir Text nesnesi oluşturun.
- Kaynak değişikliklerine bağlı olarak kullanıcı arayüzünü güncellemek için bir komut dosyası atayın.
using UnityEngine;
using UnityEngine.UI;
public class UIManager : MonoBehaviour
{
public ResourceManager resourceManager;
public Text goldText;
public Text elixirText;
void Update()
{
goldText.text = "Gold: " + resourceManager.gold;
elixirText.text = "Elixir: " + resourceManager.elixir;
}
}
Oyun Mekaniklerini Ekleme
Birlik eğitimi, saldırı ve üs yükseltmeleri gibi özellikler ekleyerek oynanışı geliştirin. Birlik mekaniklerini yönetmek ve yükseltmeler inşa etmek için ek betikler oluşturmayı düşünün.
Çözüm
Unity'de Clash of Clans benzeri bir oyun için temel bir çerçeve oluşturdunuz. Bu eğitim temel bileşenleri kapsar: kaynak yönetimi, bina yerleşimi ve kullanıcı arayüzü güncellemeleri. Daha fazla bina, birlik yönetimi, çok oyunculu özellikler ve animasyonlar ekleyerek bu projeyi genişletebilirsiniz.