CodeBlanks Logo Icon CodeBlanks

Seçenek dalları

Seçime göre dallanan diyalog akışını öğrenirsin.

Seçenek Dalları (Branching Dialogue)

Rol yapma ve macera oyunlarında diyaloglar tek bir çizgide ilerlemez; oyuncuya seçim hakkı verilir. Her bir Choice (seçenek), oyuncuya gösterilecek metni ve seçildiğinde gidilecek hedef düğümün kimliğini (targetNodeId) taşır.

[System.Serializable]
public class DialogueChoice {
    public string choiceText;
    public int targetNodeId;
}

Oyuncu bir seçeneğe tıkladığında akış doğrusal sıradan çıkarak belirtilen düğüme dallanır.

Diyalog Grafı ve Düğüm Atlama

Düğümler seçenekler aracılığıyla birbirine bağlandığında bir diyalog grafı (graph) ortaya çıkar. Oyuncu seçim yaptığında yürütücü targetNodeId adresini bulur ve oradaki replikleri oynatmaya başlar.

public void SelectChoice(int targetNodeId) {
    currentNode = FindNodeById(targetNodeId);
    currentIndex = 0;
    ShowCurrentLine();
}

Bu mekanizma sayesinde oyuncunun kararlarına göre farklı görevler açılabilir veya hikaye dallara ayrılabilir.

Uygulama Seçenek dalı yönlendirme

Bir Start metodu tanımla. İçinde int hedefDugum = 5; tanımla ve konsola "Secim yapildi, hedef dugum: " + hedefDugum yazdır.

Başlangıç kodu

Player.cs
using UnityEngine;

public class ChoiceRouter : MonoBehaviour
{
    // Start icinde hedefDugum tanimla ve yazdir
}

Örnek çözüm

Player.cs
using UnityEngine;

public class ChoiceRouter : MonoBehaviour
{
    void Start()
    {
        int hedefDugum = 5;
        Debug.Log("Secim yapildi, hedef dugum: " + hedefDugum);
    }
}

Beklenen çıktı

Secim yapildi, hedef dugum: 5

Soru ve cevaplar

Dersin sorularını cevaplarıyla birlikte inceleyebilirsin. Kendini denemek istersen dersi interaktif olarak çöz.

1 Dallanan bir diyalog sisteminde bir seçeneğin (choice) sahip olması gereken en temel özellikler nelerdir?

  • Ekran kartının fan dönüş hızı
  • Oyuncuya gösterilecek metin ve yönlendireceği hedef düğüm kimliği Doğru cevap
  • Kayıt dosyasının dosya yolu ve boyutu
  • Karakterin zıplama yüksekliği ve hızı

Açıklama: Seçenekler oyuncunun göreceği metni ve seçildiğinde hangi düğüme atlanacağını belirleyen hedef kimliğini (targetNodeId) taşır.

2 Seçenek yönlendirmesi

Soru
public void SelectChoice(int ____) { currentNodeId = targetNodeId; }
Cevap
public void SelectChoice(int targetNodeId) { currentNodeId = targetNodeId; }

Açıklama: Seçilen dalın hedef düğümünü belirtmek için 'targetNodeId' parametresi kullanılır.

3 Dallanma kavramları

Kavram Anlamı
Choice Oyuncunun tıklayabileceği cevap seçeneği
Branch Seçime göre dallanan konuşma rotası
targetNodeId Seçim sonrası geçilecek düğüm kimliği
Dialogue Graph Birbirine bağlı düğümler ağı

İleri seviye bölümündeki tüm dersler