Grid üretimi
- Oyun Geliştirme kursu
- İleri seviye
- Ders 46/71
- 4 dk
İki boyutlu grid ile harita üretmeyi öğrenirsin.
2D Grid Tabanlı Harita Üretimi
Birçok strateji, bulmaca ve roguelike oyun iki boyutlu bir Grid (ızgara) matrisi üzerinde inşa edilir. int[,] map = new int[width, height]; dizisi oluşturularak her hücreye zemin, su veya duvar kimliği atanır.
int[,] map = new int[10, 10];
for (int x = 0; x < 10; x++) {
for (int y = 0; y < 10; y++) {
map[x, y] = 1; // 1 = Zemin karosu
}
}İç içe iki for döngüsüyle tüm koordinatlar taranarak harita doldurulur.
Döşeme (Tile) ve Prefab Yerleştirme
Grid matrisi hesaplandıktan sonra, hücredeki değere göre ilgili görsel prefab sahneye yerleştirilir. Hücre koordinatları döşeme boyutuyla (tileSize) çarpılarak dünya pozisyonuna dönüştürülür.
Vector3 pos = new Vector3(x * tileSize, 0, y * tileSize);
Instantiate(tilePrefab, pos, Quaternion.identity);Böylece bellek matrisindeki sayılar gerçek dünyada yürünebilir bir oyun haritasına dönüşür.
Uygulama Grid boyutu yapılandırma
Bir Start metodu tanımla. İçinde int gridBoyut = 16; tanımla ve konsola "Grid boyutu: " + gridBoyut yazdır.
Başlangıç kodu
using UnityEngine;
public class GridTester : MonoBehaviour
{
// Start icinde gridBoyut tanimla ve yazdir
}Örnek çözüm
using UnityEngine;
public class GridTester : MonoBehaviour
{
void Start()
{
int gridBoyut = 16;
Debug.Log("Grid boyutu: " + gridBoyut);
}
}Beklenen çıktı
Grid boyutu: 16
Soru ve cevaplar
Dersin sorularını cevaplarıyla birlikte inceleyebilirsin. Kendini denemek istersen dersi interaktif olarak çöz.
1 2D grid tabanlı bir haritada her bir hücrenin (x, y) koordinatındaki döşeme türünü saklamak için en uygun veri yapısı hangisidir?
- TextMeshPro yazı tipi
- Rigidbody bileşeni
- AudioSource dizisi
- İki boyutlu dizi (int[,]) Doğru cevap
Açıklama: İki boyutlu diziler (int[,]), satır ve sütun yapısıyla x ve y koordinatlarını doğrudan temsil etmek için idealdir.
2 Grid matrisi oluşturma
int[,] gridMap = new int[____, height];
int[,] gridMap = new int[width, height];
Açıklama: İki boyutlu dizi tanımlanırken birinci boyut genellikle genişliği (width) temsil eder.
3 Grid harita bileşenleri
| Kavram | Anlamı |
|---|---|
Grid |
Satır ve sütunlardan oluşan ızgara |
Tile |
Hücreye yerleştirilen döşeme |
int[,] |
İki boyutlu matris veri yapısı |
tileSize |
Hücreler arasındaki fiziksel mesafe |