1. Altın ve Engel Prefab'lerini Hazırla - Altın ve engeller için birer Prefab oluştur. Bu, tekrar kullanılabilir nesneler yaratmana olanak tanır.
- Prefab'lerini organize etmek için bir klasör oluşturabilirsin (örneğin, Assets/Prefabs).
2. Sonsuz Yol Mantığını Ayarla - Sonsuz bir yol için genelde bir "kaydırma" mekanizması veya sürekli olarak yeni yolların oluşturulması kullanılır.
- Yolu segmentlere ayırarak her segmentin sonunda yeni bir segment oluşturabilirsin.
3. Spawn (Yerleştirme) Sistemi - Altın ve engelleri rastgele pozisyonlarda yerleştirmek için bir spawn sistemi oluştur.
Örnek bir Spawner script'i: using UnityEngine;
public class Spawner : MonoBehaviour
{
public GameObject[] coins; // Altın prefab'leri
public GameObject[] obstacles; // Engel prefab'leri
public Transform[] spawnPoints; // Spawn noktaları (yatay eksende rastgele pozisyonlar)
public float spawnInterval = 2f; // Yerleştirme aralığı
private float timer;
void Update()
{
timer += Time.deltaTime;
if (timer >= spawnInterval)
{
SpawnObjects();
timer = 0;
}
}
void SpawnObjects()
{
// Rastgele bir spawn noktasını seç
int randomIndex = Random.Range(0, spawnPoints.Length);
Transform spawnPoint = spawnPoints[randomIndex];
// Rastgele bir altın ve engel prefab'i seç
GameObject coinPrefab = coins[Random.Range(0, coins.Length)];
GameObject obstaclePrefab = obstacles[Random.Range(0, obstacles.Length)];
// Altın ve engeli spawn et
Instantiate(coinPrefab, spawnPoint.position + Vector3.up, Quaternion.identity);
Instantiate(obstaclePrefab, spawnPoint.position, Quaternion.identity);
}
}4. Spawn Noktalarını Belirle - Spawn noktaları için sahnede boş GameObject'ler oluştur ve bunları spawn noktaları olarak kullan.
- Bu GameObject'leri bir listeye (Transform[]) ekleyerek script'te kullanabilirsin.
5. Objeleri Yok Et - Performansı artırmak için ekrandan çıkan objeleri yok etmelisin.
Bunun için aşağıdaki gibi bir script kullanabilirsin: using UnityEngine;
public class DestroyAfterTime : MonoBehaviour
{
public float destroyTime = 5f; // X saniye sonra objeyi yok et
void Start()
{
Destroy(gameObject, destroyTime);
}
}Bu script'i altın ve engel prefab'lerine ekle.
6. Optimize Etmek İçin Object Pooling Kullan - Eğer çok fazla obje spawn ediyorsan, performansı artırmak için Object Pooling yöntemi kullanabilirsin.
- Bu yöntemle objeleri yok etmek yerine yeniden kullanırsın.
7. Test Et ve Hata Ayıkla- Sistemi sahnede test ederek spawn noktalarının doğru çalışıp çalışmadığını kontrol et.
- Altın ve engellerin yerleştirme sıklığını spawnInterval ile ayarlayabilirsin.