Unity'de geri tuşu nasıl yapılır?

Maraza25

Decapat
Katılım
21 Ekim 2020
Mesajlar
181
Çö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.

midtoa

Hectopat
Katılım
6 Nisan 2018
Mesajlar
377
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.
 

sıddııık

Picopat
Katılım
31 Ağustos 2022
Mesajlar
123
Daha fazla  
Cinsiyet
Erkek
İ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.
 

lastruling

Kilopat
Katılım
10 Temmuz 2016
Mesajlar
111
Çözümler
1
Daha fazla  
Cinsiyet
Erkek
using UnityEnginr.SceneManagament;

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

Buttona tiklandigi zaman bu kodun calismasini saglamalisin.
 
KS
KS
Maraza25

Maraza25

Decapat
Katılım
21 Ekim 2020
Mesajlar
181
Çözümler
1
Daha fazla  
Sistem Özellikleri
Asus ROG Strix G15
Cinsiyet
Erkek
Meslek
Öğrenci
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ı
 

sıddııık

Picopat
Katılım
31 Ağustos 2022
Mesajlar
123
Daha fazla  
Cinsiyet
Erkek
Ş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?
 
KS
KS
Maraza25

Maraza25

Decapat
Katılım
21 Ekim 2020
Mesajlar
181
Çözümler
1
Daha fazla  
Sistem Özellikleri
Asus ROG Strix G15
Cinsiyet
Erkek
Meslek
Öğrenci
Ş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
 

lastruling

Kilopat
Katılım
10 Temmuz 2016
Mesajlar
111
Çözümler
1
Daha fazla  
Cinsiyet
Erkek
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
KS
KS
Maraza25

Maraza25

Decapat
Katılım
21 Ekim 2020
Mesajlar
181
Çözümler
1
Daha fazla  
Sistem Özellikleri
Asus ROG Strix G15
Cinsiyet
Erkek
Meslek
Öğrenci
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
 

Yeni konular

Yukarı