Unity Dil Ayarlarını Tüm Sahnelere Uygulamak

Katılım
24 Ağustos 2017
Mesajlar
2.823
Makaleler
1
Çözümler
16
Yeniden merhaba. Oyunum için menüye İngilizce dil eklemiştim. Ancak sadece menü için geçerli. Ben durdurma paneline, ölüm paneline de dil eklemek istiyorum. (yani diğer sahnelere de) @Predator Titan bir önceki dil konusunda yine bu soruyu sordum fakat son mesajla birleştiği için bildirim gelmedi sanırım.

Kodların son halleri;
dilAktif.cs
dil.cs
 
Çözüm
DİL.CS İÇİN >

Kod:
using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class dil : MonoBehaviour
{

    public int Menüdeger = 0;
    public int Durdurmadeger = 0;
    public int Olmedeger = 0;

    public bool ingilizce;
    public bool türkce;

    public bool durduma_ingilizce;
    public bool durdurma_türkce;

    public bool ölme_ingilizce;
    public bool ölme_türkce;


 
    void Start()
    {
        //Oyunu, oyun motorunu(unity i yani) kapatsanız dâhi yaptığınız, seçtiğiniz son değişiklikleri kaydeden kod aşağıdadır.
        Menüdeger = PlayerPrefs.GetInt("Mdeger");
        Durdurmadeger = PlayerPrefs.GetInt("Ddeger");
        Olmedeger = PlayerPrefs.GetInt("Odeger");
    }
    void Update()
    {
        if (Menüdeger == 1)
        {
          
            ingilizce = true;
            türkce = false;
        }
        if (Menüdeger == 2)
        {
      
            türkce = true;
            ingilizce = false;
        }


        if (Durdurmadeger == 1)
        {
      
            durduma_ingilizce = true;
            durdurma_türkce = false;
        }
        if (Durdurmadeger == 2)
        {
            
            durdurma_türkce = true;
            durduma_ingilizce = false;
        }


        if (Olmedeger == 1)
        {
            
            ölme_ingilizce = true;
            ölme_türkce = false;
        }
        if (Olmedeger == 2)
        {
        
            ölme_türkce = true;
            ölme_ingilizce = false;
        }
      
    }

    public void IngilizceButton()
    {
        Menüdeger = 1;
        PlayerPrefs.SetInt("Mdeger", Menüdeger);
    }
    public void TurkceButton()
    {
        Menüdeger = 2;
        PlayerPrefs.SetInt("Mdeger", Menüdeger);
    }

    //Durdurma sahnesi için bu aşağı da ki komutu, stop/durdurma tuşuna tanımlayın aynı yukarı da menü ye yaptığınız gibi.
    public void DurdurmaIngilizceButton()
    {
        Durdurmadeger = 1;
        PlayerPrefs.SetInt("Ddeger", Durdurmadeger);
    }
    public void DurdurmaTurkceButton()
    {
        Durdurmadeger = 2;
        PlayerPrefs.SetInt("Ddeger", Durdurmadeger);
    }


    //Ölme sahnesi için bu aşağı da ki komutu, ölme/yeniden doğma sanhesi tuşuna tanımlayın aynı yukarı da menü ye yaptığınız gibi.
    public void OlmeIngilizceButton()
    {
        Olmedeger = 1;
        PlayerPrefs.SetInt("Odeger", Olmedeger);
    }
    public void OlmeTurkceButton()
    {
        Olmedeger = 2;
        PlayerPrefs.SetInt("Odeger", Olmedeger);
    }


}

dilAktif.cs İÇİN >
Kod:
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;

public class dilAktif : MonoBehaviour {

    dil DenemeS;

    public GameObject DenemeCsObj;

    //Ana menü için
    public Text bolumSecText;
    public Text hikayeModText;
    public Text ozellistirmeText;
    public Text nasilOynanirText;
    public Text cıkText;

    public Text nasilText1;
    public Text nasilKontrollerText;
    public Text nasilDusmanlarTExt;

    void Start()
    {

        DenemeS = DenemeCsObj.GetComponent<dil>();

    }

    void Update()
    {
        if (DenemeS.ingilizce == true)
        {
            //Menü için
            bolumSecText.text = "Level Select";
            ozellistirmeText.text = "Customize (Coming Very Soon)";
            hikayeModText.text = "Story Mode (Coming Very Soon)";
            nasilOynanirText.text = "How To Play";
            cıkText.text = "Quit";
            //Nasıl için
            nasilText1.text = "How to play? You are welcome to play a game that adds a dimension to maze games. In this game, there are chapters in many places from the biggest cities to the Moon, from the Moon to the depths of the ocean.In these chapters, your aim is to hit the obstacles. How will you do that? Then lets come check it out.";
            nasilKontrollerText.text = "Controls; To control your character, you need to use the analog bar on the bottom left and the jump button on the bottom right.";
        }

        if (DenemeS.türkce == true)
        {
            //Menü için
            bolumSecText.text = "Bölüm Seç";
            ozellistirmeText.text = "Özelleştirme (Çok Yakında)";
            hikayeModText.text = "Hikaye Modu (Çok Yakında)";
            nasilOynanirText.text = "Nasıl Oynanır";
            cıkText.text = "Çık";
            //Nasıl için
            nasilText1.text = "Nasıl Oynanır? Labirent oyunlarına ayrı bir boyut katan oyunumuza hoşgeldiniz. Bu oyunda, en büyük şehirlerden, Aya, Aydan okyanusların derinliklerine kadar bir çok yerde geçen bölümler bulunmakta. Bu bölümlerde amacınız engellere çarpmayıp çıkışa ulaşmak.Bunu nasıl mı yapacaksınız? O zaman gelelim kontrollere.";
            nasilKontrollerText.text = "Kontroller; Karakterinizi kontrol etmek için sol alt taraftaki analog çubuğu ve sağ alt taraftaki zıplama butonunu kullanmanız gerekmekte.";
        }

        //DURDURMA EKRANI İÇİN AYARLAR-------------------------------------------------------
        if (DenemeS.durduma_ingilizce == true)
        {
         // BURAYA GİRİLECEK TEXT LERİ SİZİN AYARLAMANIZ LAZIM, NORMAL YUKARIDAN TEXT İLE DURDURMA EKRANINDA Kİ TEXTLERİ TANIMLAYIN   
        }

        if (DenemeS.durdurma_türkce == true)
        {
          // BURAYA GİRİLECEK TEXT LERİ SİZİN AYARLAMANIZ LAZIM, NORMAL YUKARIDAN TEXT İLE DURDURMA EKRANINDA Kİ TEXTLERİ TANIMLAYIN
        }


        //ÖLME/DEATH/YENİDEN BAŞLAMA EKRANI İÇİN AYARLAR-------------------------------------------------------
        if (DenemeS.ölme_ingilizce == true)
        {
            // BURAYA GİRİLECEK TEXT LERİ SİZİN AYARLAMANIZ LAZIM, NORMAL YUKARIDAN TEXT İLE ÖLME EKRANINDA Kİ TEXTLERİ TANIMLAYIN   
        }

        if (DenemeS.ölme_türkce == true)
        {
            // BURAYA GİRİLECEK TEXT LERİ SİZİN AYARLAMANIZ LAZIM, NORMAL YUKARIDAN TEXT İLE ÖLME EKRANINDA Kİ TEXTLERİ TANIMLAYIN
        }

    }

}

Paylaştığım kodları direk siz başta belirtiğim script adına göre Ctrl+c - Ctrl+V yaparak işlemi halledin. Siz eski kodunuzun içinde ki bütün her şeyi silin ve direk yapıştırın yani.

Sorun çıkarsa mümkün ise Ekran görüntüsü dahilinde + devrik cümle kurmadan açıklarsanız sevinirim :)
Ayrıca sormak istiyorum, sizce oyunu biraz daha geliştirirsem Google Play Store'a koyabileceğim bir oyun olur mu sizce? Değer mi yani?
Olmaz dostum, bu amaçlar güderek oyun yapma olur mu ? Kendini geliştirip daha iyi seviyelere çıkıp ondan sonra koy dilediğin mağazaya.

Oyunun hoş ve güzel olmuş, oynarken sinir edici olsa da sevdim :) Ama şunu unutma ki oyunun tamamen hazır paketler yardımı ile yapıldığı için bunda çok büyük emek vermemişsin gibi duruyor.(Dost acı söyler, sana çok iyi yapmışsın desem hep bu yolda ilerlersin, aramızda ki samimiyete ve arkadaşlığa güvenerek konuşuyorum şuan :) Daha gideceğin çok yol var, şimdilik bu oyunun da kullandığın hazır Assestler(topun kontrolü olsun, modeller olsun, scriptler olsun bazı şeyler) bunları kendin yapıp tekrar oyunu yaz. Örneğin topu hareket ettirme kodunu kendin yaz, seni takip eden kameranın kodunu kendin geliştir :) Başarılar.
Bu arada yükleme halen devam ediyor.

Evet, Afrika'dan bağlanıyorum.
1534848695794.png
 
Peki, dürüst olduğunuz için çok mutlu oldum. Sizden bunu bekliyordum zaten :) Sadece çok basit oyunlar bile zevkli olduğu için çok fazla oynanabiliyor diye sordum, siz daha iyi bilirsiniz zaten. Dedim belki bir umut :) Umarım bu tür eleştiriler ile kendimi daha da geliştireceğim. Kısa sürede çok yol aldığıma inanıyorum, bilmiyorum siz ne düşünüyorsunuz. (Bu arada sizin internet benimkine göre harika... 11-12 saatte upload etmiştim o dosyaları :D )
 
Son düzenleme:
Peki, dürüst olduğunuz için çok mutlu oldum. Sizden bunu bekliyordum zaten :) Sadece çok basit oyunlar bile zevkli olduğu için çok fazla oynanabiliyor diye sordum, siz daha iyi bilirsiniz zaten. Dedim belki bir umut :) Umarım bu tür eleştiriler ile kendimi daha da geliştireceğim. Kısa sürede çok yol aldığıma inanıyorum, bilmiyorum siz ne düşünüyorsunuz. (Bu arada sizin internet benimkine göre harika... 11-12 saatte upload etmiştim o dosyaları :D )
Tabii ki de çok kisa zamanda çok yol aldınız, emin olun ki ayni bu hızda giderseniz daha iyi yerlere gideceksiniz.
 
Uyarı! Bu konu 8 yıl önce açıldı.
Muhtemelen daha fazla tartışma gerekli değildir ki bu durumda yeni bir konu başlatmayı öneririz. Eğer yine de cevabınızın gerekli olduğunu düşünüyorsanız buna rağmen cevap verebilirsiniz.

Technopat Haberler

Geri
Yukarı