Çözüldü Unity'de geri tuşu nasıl yapılır?

Bu konu çözüldü olarak işaretlenmiştir. Çözülmediğini düşünüyorsanız konuyu rapor edebilirsiniz.

Maraza25

Hectopat
Katılım
21 Ekim 2020
Mesajlar
189
Çözümler
1
Daha fazla  
Sistem Özellikleri
Asus ROG Strix G15
Cinsiyet
Erkek
Meslek
Öğrenci
Merhaba. Ben yaptığım oyuna geri tuşu eklemek istiyorum. Kısaca yapmak istediğim şey aslında bir sahne yüklendiği zaman o sahneye gecmeden önceki sahnenin index numarasını almak ve her geri tuşuna basıldığında önceki sahneye gitmek istiyorum. Bunu nasıl yapabilirim? Daha kolay bir yöntemi varsa onu yazarsanız sevinirim.
 
Çözüm
Diger sahneye gecme kodun var ya oraya PlayerPrefs.SetInt("BackScene", SceneManager.GetActiveScene().buildIndex); ekle diger sahneye gecerken onceki sahneyi aklinda tutsun bunu her sahne degismeden once bir ust satira yaz. Ardindan butona kod olarak sunu yaz.

using UnityEnginr.SceneManagament;

public void GeriButonu()
{
Scenemanager. Loadscene(PlayerPrefs.GetInt("BackScene", 0));
}

İstedigin sanirim bu tam olarak. Kodunu bilmedigim icin bu sekilde anlatabiliyorum en basit hali ile.
Geri tuşu için script yaz scripti butona ekle eğer butona basılırsa önceki sahneye dönsün şeklinde kod yaz. Tam olarak aklımda değil ama örneğin;

Sahneyi kullanmak için using UnityEnginr.SceneManagament diye kütüphaneyi eklemeyi unutma.

public void GeriButonu()
{
Scenemanager. Loadscene(buraya sahnenin indexi gelecek);
}

Galiba sorunu yanlış anladım.
 
İndex kullanmadan da bu geri dönmeyi yapabilirsiniz. Midtoa ismindeki kullanıcı arkadaşında dediği gibi "SceneManager. LoadScene("");" kodunu kullanabilirsin. Ama ("buraya geri dönmek istediğin sahnenin ismini doğru bir şekilde girdiğinden emin olacaksın.")
Ardından File -> BuildSettings yolunu izle. Açılan pencere de Scenes In Build'ın içerisine sahneleri sürükle, bırak.
 
using UnityEnginr.SceneManagament;

public void GeriButonu()
{
Scenemanager. Loadscene(SceneManager.GetActiveScene().buildIndex - 1);
}

Buttona tiklandigi zaman bu kodun calismasini saglamalisin.
 
using UnityEnginr.SceneManagament;

public void GeriButonu()
{
Scenemanager. Loadscene(SceneManager.GetActiveScene().buildIndex - 1);
}

Buttona tiklandigi zaman bu kodun calismasini saglamalisin.
İndex kullanmadan da bu geri dönmeyi yapabilirsiniz. Midtoa ismindeki kullanıcı arkadaşında dediği gibi "SceneManager. LoadScene("");" kodunu kullanabilirsin. Ama ("buraya geri dönmek istediğin sahnenin ismini doğru bir şekilde girdiğinden emin olacaksın.")
Ardından File -> BuildSettings yolunu izle. Açılan pencere de Scenes In Build'ın içerisine sahneleri sürükle, bırak.
Geri tuşu için script yaz scripti butona ekle eğer butona basılırsa önceki sahneye dönsün şeklinde kod yaz. Tam olarak aklımda değil ama örneğin;

Sahneyi kullanmak için using UnityEnginr.SceneManagament diye kütüphaneyi eklemeyi unutma.

public void GeriButonu()
{
Scenemanager. Loadscene(buraya sahnenin indexi gelecek);
}

Galiba sorunu yanlış anladım.
Hocam demek istediğim tam olarak böyle birşey deil. örnek veriyorum index numarası 1 olan sahneden index numarası 3 olan sahneye gectim scenemanager den ben index 1 i nasıl alabilirim yani geldiğim sahnenin index numarasını
Böyle bir şey varmı
 
Şimdi anladığım kadarıyla şunu mu diyorsunuz mesela 5 farklı sahne var ve bu sahnelerden 3. sahnenin içerisindeyiz. Ama geri tuşuna basarak 1. sahneye dönmek istiyoruz. Ve bunu index numaraları ile yapmak istiyoruz değil mi?
 
Şimdi anladığım kadarıyla şunu mu diyorsunuz mesela 5 farklı sahne var ve bu sahnelerden 3. sahnenin içerisindeyiz. Ama geri tuşuna basarak 1. sahneye dönmek istiyoruz. Ve bunu index numaraları ile yapmak istiyoruz değil mi?
eğer ben 3. sahneye 1. sahneden gectiysem geri butonuna basıldımı 1. sahneye dönsün
 
Diger sahneye gecme kodun var ya oraya PlayerPrefs.SetInt("BackScene", SceneManager.GetActiveScene().buildIndex); ekle diger sahneye gecerken onceki sahneyi aklinda tutsun bunu her sahne degismeden once bir ust satira yaz. Ardindan butona kod olarak sunu yaz.

using UnityEnginr.SceneManagament;

public void GeriButonu()
{
Scenemanager. Loadscene(PlayerPrefs.GetInt("BackScene", 0));
}

İstedigin sanirim bu tam olarak. Kodunu bilmedigim icin bu sekilde anlatabiliyorum en basit hali ile.
 
Çözüm
Diger sahneye gecme kodun var ya oraya PlayerPrefs.SetInt("BackScene", SceneManager.GetActiveScene().buildIndex); ekle diger sahneye gecerken onceki sahneyi aklinda tutsun bunu her sahne degismeden once bir ust satira yaz. Ardindan butona kod olarak sunu yaz.

using UnityEnginr.SceneManagament;

public void GeriButonu()
{
Scenemanager. Loadscene(PlayerPrefs.GetInt("BackScene", 0));
}

İstedigin sanirim bu tam olarak. Kodunu bilmedigim icin bu sekilde anlatabiliyorum en basit hali ile.
Çok mantıklı. Teşkkür ederim
 

Geri
Yukarı