Arkadaşlar merhaba. Diğer sahneye geçişte değişken aktarmak istiyorum. Nasıl yapabilirim? İnternetteki çoğu şeyi denedim ama çalışmıyor. Yardımlarınız için şimdiden teşekkür ederim.
Cevabınız için çok teşekkür ederim. C# ve uniyt'de biraz yeniyim.
Diyelim public int sayi = "1"; değişkenimiz var. Bunu bu kod ile nasıl kullanabilirim.
Hiç php'ye benzemiyor çok zorlanıyorum
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class DeğişkenGöndermeScripti : MonoBehaviour
{
int gönderilecekSayi;
void DeğişkeniGönder()
{
var manager = GameObject.FindObjectOfType<DontDestroy>().GetComponent<DontDestroy>();
manager.sayi = gönderilecekSayi;
}
}
Aşağıdaki bizim değişken aktarımı yapacağımız script;
Kod:
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class DontDestroy : MonoBehaviour
{
public int sayi;
void Awake()
{
DontDestroyOnLoad(this.gameObject);
}
}
Aşağıdaki script ise sonraki sahnede değişkeni alacağımız script.
Kod:
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class DeğişkenAlmaScripti : MonoBehaviour
{
int gelenDeğişken;
void DeğişkeniGönder()
{
var manager = GameObject.FindObjectOfType<DontDestroy>().GetComponent<DontDestroy>();
gelenDeğişken = manager.sayi;
}
}
Kısaca anlatmak gerekirse,
İlk scriptte sahne aktarımında silinmeyen scriptimizi bulup buna istediğimiz değeri veriyoruz. En son adımda ise tekrardan aktarımda görevli scripte erişip, bu script içerisinden istediğimiz deiğişkeni alıyoruz.
DeğişkenGöndermeScripti ile DeğişkenAlmaScripti farklı sahnelerdeki scriptler oluyor.
Hocam sahneler değişince objeler siliniyor. Bunun için farklı bir yöntem uygulanabilir. Mesela bir int değeri aktarırsınız bu int değerine göre yeni bir obje Instantiate edersiniz. Direk objeyi aktarmak için objeye de DontDestroy komutunu vermeniz gerekiyor.
Hocam benim demek istediğim object türü değişken. Yani içerisine bütün karakterleri yazabildiğimiz bir değişkeni aktarmak. private object olarak seçince okumuyordu. String'in içine hem harf hem karakter yazabiliyormuşuz onu öğrendim. Yanlışlıkla string gönderdim ve oldu.
Arkadaşlar merhaba. Diğer sahneye geçişte değişken aktarmak istiyorum. Nasıl yapabilirim? İnternetteki çoğu şeyi denedim ama çalışmıyor. Yardımlarınız için şimdiden teşekkür ederim.