Nullreferenceexception Unity
-
public class Popup : MonoBehaviour { public void buyAppleFunction(){ print ("elma al"); gameManager.BuyAppleButton (); } }
public class GameManager : MonoBehaviour { public float gold=20.00f; public float appleCost=1f; public int apple=10; public float count; public void BuyAppleButton(){ if (gold >= appleCost) { gold-=appleCost; apple++; count++; } }
beyler elimde 2 tane class var böle, ilk classta buyAppleFunction() çalışıyor, printi yazdırıyor ama hata olarak bunu alıyorum. bilale anlatır gibi anlatabilirmisiniz ? yani alt tarafı bi buton var basınca gold yeterliyse goldtan düşsün istiyorum ama hata alıorum
NullReferenceException: Object reference not set to an instance of an object
Popup.buyAppleFunction () (at Assets/Scripts/TomatoPopup.cs:62)
code bloğu yanlış çıkarsa kusura bakmayın yeni siteye ilk defa kod atıyorum
-
gameManager nesnesini nerede create ediyorsun? muhtemelen onu new ile create etmediğin için nullexception hatası veriyor
-
unbalanced bunu yazdı
gameManager nesnesini nerede create ediyorsun? muhtemelen onu new ile create etmediğin için nullexception hatası veriyor
private GameManager gameManager;
popup classında hocam
ne yapmam lazım hocam ?
-
projeni tam olarak bilmiyorum hocam nasıl atıyorsun değişkenleri v.s. ama önce aklıma gelen gameManager objesinin null olabileceği eğer unity içinde değer vermemişsen popup class ı içinde
void Start () { gameManager = new GameManager(); }
aynı şekilde count objesine de bir değer vermemişsin ve count++ yapmaya çalışıyorsun eğer unity üzerinden veriyorsan sorun yok ama vermiyorsan şöyle yapabilirsin. üstteki fonksiyonu şöyle editleyelim
void Start () { gameManager = new GameManager(); gameManager.count=0; }
-
Mobilde bu konudaki satırların hiçbirini okuyamadım , tepkimi belirtiyorum.
-
gold=100;
cost=5 diorumsonra fonksiyonda
gold-=cost;
yapiorum fakat ilk başta 5-5 düşüor sonra tekrar açıorum 10-10 düşüo daha sonra tekrar açıtıgım zaman 15-15 düşüo.ekleme yapıor costa sürekli.bunu nasıl düzeltebilrim?
gold-=5 denedim yine aynı sorun var@unbalanced hocam saol sayende çözdüm :)
yalnız bu seferde böle bi sorunum var :D
-
projenin bütününü görmeden yardımcı olmak sıkıntılı iş.. Salı günü akşam bakabiliriz istersen.. Ama şimdi denemek için float yerine int kullan bakalım.. Olursa sonra double ile dene. Eğer aynı şey devam ediyorsa senin kodlarında bir sıkıntı var. Bir yerde o değişkene tekrar veri ekletiyorsun. Oralara print koyup bbak (her cost un değerinin değiştiği yere böylece nereye girdiğini görebilirsin), yine olmazsa değişkenleri static olarak tanımlayıp dene bakalım..
-
unbalanced bunu yazdı
projenin bütününü görmeden yardımcı olmak sıkıntılı iş.. Salı günü akşam bakabiliriz istersen.. Ama şimdi denemek için float yerine int kullan bakalım.. Olursa sonra double ile dene. Eğer aynı şey devam ediyorsa senin kodlarında bir sıkıntı var. Bir yerde o değişkene tekrar veri ekletiyorsun. Oralara print koyup bbak (her cost un değerinin değiştiği yere böylece nereye girdiğini görebilirsin), yine olmazsa değişkenleri static olarak tanımlayıp dene bakalım..
hocam şimdi kontrol ettim nedir die
popup açıorum ordan buyAppleButton u çağırıor 1 defa.sonra popup kapatıp tekrar açıyorum yine aynı fonksiyonu çağırıyor ama bu sefer 2 kere çağırıyor.bi daha kapatıp açarsam fonksiyonu 4 kere çağırıor.başka bi yerde daha mı çağırılıo die baktım ama yok.baska bi yerde etiketlenmemiş...debug attım orda da gösterio 1-2-4 die
-
Ekerci bunu yazdıunbalanced bunu yazdı
projenin bütününü görmeden yardımcı olmak sıkıntılı iş.. Salı günü akşam bakabiliriz istersen.. Ama şimdi denemek için float yerine int kullan bakalım.. Olursa sonra double ile dene. Eğer aynı şey devam ediyorsa senin kodlarında bir sıkıntı var. Bir yerde o değişkene tekrar veri ekletiyorsun. Oralara print koyup bbak (her cost un değerinin değiştiği yere böylece nereye girdiğini görebilirsin), yine olmazsa değişkenleri static olarak tanımlayıp dene bakalım..
hocam şimdi kontrol ettim nedir die
popup açıorum ordan buyAppleButton u çağırıor 1 defa.sonra popup kapatıp tekrar açıyorum yine aynı fonksiyonu çağırıyor ama bu sefer 2 kere çağırıyor.bi daha kapatıp açarsam fonksiyonu 4 kere çağırıor.başka bi yerde daha mı çağırılıo die baktım ama yok.baska bi yerde etiketlenmemiş...debug attım orda da gösterio 1-2-4 die
sorunu buldum.ne alaka anlamadım birazdan bakacam scripte
buyApple.onClick.RemoveAllListeners ();
bunu koymadıgım için her seferinde öle bi artış yapıormus.bu sorunu çözecem diye her taraf birbirine girdi :D