"NullReferenceException: Object reference not set to an instance of an object" hatası

bu scripte developerst referansını nereden veriyorsunuz? developerst scriptini nerede = şu olsun diye alıyor yani
dusman_hareketleriscriptin üstünde sınıflandırdım

public float hiz;
private kup1 kuplerim;
private int kup_numarasi;

public GameObject canvas;
developer developerst;




developer scriptim :
Kod:
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;
public class developer : MonoBehaviour
{
    public GameObject robot;
    public Transform dogma_yeri;
    public float dogma_hizi;


    public TMPro.TextMeshProUGUI gecen_dusman_sayisi_txt;
    int gecen_dusman_sayisi = 0;
    int gecmemesi_gereken_dusman_sayisi = 15;

    void Start()
    {
        InvokeRepeating("dusman_olustur", 1f, dogma_hizi);
        gecen_dusman_sayisi_txt.text = gecen_dusman_sayisi.ToString() + " / " + gecmemesi_gereken_dusman_sayisi.ToString();
    }

 
     public void gecen_dusman()
    {
        gecen_dusman_sayisi++;
        gecen_dusman_sayisi_txt.text = gecen_dusman_sayisi.ToString() + " / " + gecmemesi_gereken_dusman_sayisi.ToString();

        /* if (gecen_dusman_sayisi >= gecmemesi_gereken_dusman_sayisi)
             oyunu_bitir();
         {
         }*/
    }
    public void dusman_olustur()
    {
        GameObject yeni_dusman = Instantiate(robot, dogma_yeri.position, Quaternion.identity);
    }
   /* public void oyunu_bitir()
    {
        Time.timeScale = 0.0f;
    }*/
}
 
tamam yok onu demiyorum. Bu scripte nereden erişiyorsunuz? Hani bu scripti diğer script nasıl buluyor
 
tamam yok onu demiyorum. Bu scripte nereden erişiyorsunuz? Hani bu scripti diğer script nasıl buluyor
developer developerst; developer scriptini developerst nesne adı altında ulaşıyorum sanırım olmuyor öyle öğrendim yanlışım var ise düzeltin lütfen.
bir ekran görüntüsü daha atıyorum .
Ekran Görüntüsü (17).png
 
Hah bakın size orada da diyor. Siz bu scripte hiçbir yerde değer atamamışsınız. Şimdi bu scripti public'e çevirip developer scriptine sahip olan objeyi bunun üzerine sürükleyin
 
Hocam scripti nasıl global yapacağız. Nerede public kullanacağız?
Scriptin başına public ibaresini eklerseniz o scripti eklediğiniz objelerin üzerinde inspectorda görebilirsiniz. buradaki değişkenler gibi aynı public olur ve oraya sürükle bırak ile ekleyebilirsiniz
1665080195854.png
 
Scriptin başına public ibaresini eklerseniz o scripti eklediğiniz objelerin üzerinde inspectorda görebilirsiniz. buradaki değişkenler gibi aynı public olur ve oraya sürükle bırak ile ekleyebilirsinizEki Görüntüle 1537192
Developer scriptim ınspector kısmını paylaşıyorum ama nasıl public yapacağımı anlamadım?
script başına public eklerseniz derken hocam?şuan developer bu şekilde zaten ;
public class developer : MonoBehaviour

DEVELOPER.PNG
 
Son düzenleme:
dusman_hareketleriscriptin üstünde sınıflandırdım

public float hiz;
private kup1 kuplerim;
private int kup_numarasi;

public GameObject canvas;
developer developerst;




developer scriptim :
Kod:
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;
public class developer : MonoBehaviour
{
    public GameObject robot;
    public Transform dogma_yeri;
    public float dogma_hizi;


    public TMPro.TextMeshProUGUI gecen_dusman_sayisi_txt;
    int gecen_dusman_sayisi = 0;
    int gecmemesi_gereken_dusman_sayisi = 15;

    void Start()
    {
        InvokeRepeating("dusman_olustur", 1f, dogma_hizi);
        gecen_dusman_sayisi_txt.text = gecen_dusman_sayisi.ToString() + " / " + gecmemesi_gereken_dusman_sayisi.ToString();
    }

 
     public void gecen_dusman()
    {
        gecen_dusman_sayisi++;
        gecen_dusman_sayisi_txt.text = gecen_dusman_sayisi.ToString() + " / " + gecmemesi_gereken_dusman_sayisi.ToString();

        /* if (gecen_dusman_sayisi >= gecmemesi_gereken_dusman_sayisi)
             oyunu_bitir();
         {
         }*/
    }
    public void dusman_olustur()
    {
        GameObject yeni_dusman = Instantiate(robot, dogma_yeri.position, Quaternion.identity);
    }
   /* public void oyunu_bitir()
    {
        Time.timeScale = 0.0f;
    }*/
}
Şurada canvasın altında developer developerst yazmışsınız ya onu public developer developerst ile değiştirin
 
Şurada canvasın altında developer developerst yazmışsınız ya onu public developer developerst ile değiştirin.

Yok hocam bir değişiklik sağlamdı kafayı yedirtecek.

Şurada canvasın altında developer developerst yazmışsınız ya onu public developer developerst ile değiştirin.

// yonet.gecen_dusman();
Kısmını kaldırdığımda oyun devam ediyor ve destroy oluyorlar yani başka nasıl saydırabilirim destroy sayısını normal text mi kullanayım.
Destroy kod kısmını developer içine mi taşısam oda olmaz, nasıl yapalım hocam?
 
Son düzenleme:
Yok hocam bir değişiklik sağlamdı kafayı yedirtecek.



// yonet.gecen_dusman();
Kısmını kaldırdığımda oyun devam ediyor ve destroy oluyorlar yani başka nasıl saydırabilirim destroy sayısını normal text mi kullanayım.
Destroy kod kısmını developer içine mi taşısam oda olmaz, nasıl yapalım hocam?
Hocam bakın şu an o referansa erişemiyorsunuz. Buna erişmeyi öğrenmeniz lazım. Googlea reach a script from another script unity yazın isterseniz. Yapmanız gereken şey o developer developerst Yi public yapıp inspectorda düşman scriptinize bu scripti sürükleyip bırakma
 

Yeni konular

Geri
Yukarı