Unity ayarlar kısmı nasıl düzeltilebilir?

Saldon

Hectopat
Katılım
22 Aralık 2018
Mesajlar
137
Çözümler
1
Merhaba arkadaşlar elimde 2 sahne var.
1. Menu ayaralar ses ayarları start ve benzeri.
2. Oyunun ana sahnesi.

Şimdi değinmek istediğim nokta.
2 sahnede de ayarlar kısmı var fakat ilk sahnede seçtiğim ayarlar yüklenen 2. sahnede en başta olduğu gibi oluyor.
Bunu nasıl düzeltebilirim. Ben ilk sahnede seçtiğim ayarların 2 sahnede de yanı olmasını istiyorum yanı onları birbirlerine bağlamak istiyorum.
 

Dosya Ekleri

  • Ekran Alıntısı.PNG
    Ekran Alıntısı.PNG
    1,7 MB · Görüntüleme: 29
  • Ekran Alıntısı2.PNG
    Ekran Alıntısı2.PNG
    657,4 KB · Görüntüleme: 28
Merhaba arkadaşlar elimde 2 sahne var.
1. Menu ayaralar ses ayarları start ve benzeri.
2. Oyunun ana sahnesi.

Şimdi değinmek istediğim nokta.
2 sahnede de ayarlar kısmı var fakat ilk sahnede seçtiğim ayarlar yüklenen 2. sahnede en başta olduğu gibi oluyor.
Bunu nasıl düzeltebilirim. Ben ilk sahnede seçtiğim ayarların 2 sahnede de yanı olmasını istiyorum yanı onları birbirlerine bağlamak istiyorum.
Oyun icin JSON kullanarak save dosyasi hazirla. Ayarlar degistirildiginde o save dosyasina kaydet ve her yeni bir scene loadlandiginda o json dosyasini kontrol et ve scenedeki ozellikleri ona gore degistir. Boylelikle oyun kapatip acildiginda bile ayarlar kalir.

PlayerPrefs de kullanabilirsin.
 
Oyun icin JSON kullanarak save dosyasi hazirla. Ayarlar degistirildiginde o save dosyasina kaydet ve her yeni bir scene loadlandiginda o json dosyasini kontrol et ve scenedeki ozellikleri ona gore degistir. Boylelikle oyun kapatip acildiginda bile ayarlar kalir.

PlayerPrefs de kullanabilirsin.
Kod:
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;
using UnityEngine.Audio;

public class MixerController : MonoBehaviour
{

    public AudioMixer audiomixer;
    public Slider sesslider;
    

    public void sesdegeri(float volume)
    {
        audiomixer.SetFloat("volume", volume);
        PlayerPrefs.SetFloat("sesdegeri", sesslider.value);
    }

    // Start is called before the first frame update
    void Start()
    {

        sesslider.value = PlayerPrefs.GetFloat("sesdegeri");

    }
    // Update is called once per frame
    void Update()
    {
        
    }
}
 

Geri
Yukarı