Unity 3D TR Forum

Orjinalini görmek için tıklayınız: NullReferenceException: Object reference not set to an instance (GameManager Hatası)
Şu anda (Arşiv) modunu görüntülemektesiniz. Orjinal Sürümü Görüntüle internal link
Herkese merhaba,
Unity ile oyun yapmayı öğrenmeye çalışıyorum. C# ile kendimi biraz biraz geliştirdim. Yani kodları ve kodun ne demek istediğini anlamaya başladım desem daha doğru olacak. Ancak çok basit bir problemle karşı karşıya kaldım.


Game manager scriptimi yazarken her seferinde bu hatayı alıyorum. 
NullReferenceException: Object reference not set to an instance of an object GameManager.Start () (at Assets/GameManager.cs:20)

Bir diğer sorunum ise kod yazarken Text i “using UnityEngine.UI;” kodu ile elle girdim. Çünkü Microsoft Visual Studio Text imi görmedi.
Elle yazmam sorunu çözer mi yoksa başka bir şey mi yapmam gerekir? Aşağıya bir örnek kod yazacağım. Bu benim temel başlangıç kodum. Lütfen inceleyip neyi yanlış yaptığımı söyler misiniz? İnternette yerli ve yabancı kaynaklarda pek çok kişinin bu ve benzeri sorunlar yaşadığını gördüm ama çözüm gösteren görmedim. 

Kafayı yedim yiycemSmile Neyi görmüyor olabilirim?
                                                                                 -Örnek Kod-
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;


public class GameManager : MonoBehaviour
{
public Text mainText;
public Button option1;
public Button option2;

void Start()
{
mainText.text = “Giriş Metni!”;
option1.GetComponentInChildren<Text>().text = “Birincil Buton”;
option2.GetComponentInChildren<Text>().text = “İkincil Buton”;
}
(12-11-2020, Saat: 19:58)Kromozom1 Nickli Kullanıcıdan Alıntı: Linkleri görüntüleyebilmek için Kayıt ol manız veya Giriş yapmanız gerekiyor.Anlayışınız için teşekkürler.!Herkese merhaba,
Unity ile oyun yapmayı öğrenmeye çalışıyorum. C# ile kendimi biraz biraz geliştirdim. Yani kodları ve kodun ne demek istediğini anlamaya başladım desem daha doğru olacak. Ancak çok basit bir problemle karşı karşıya kaldım.


Game manager scriptimi yazarken her seferinde bu hatayı alıyorum. 
NullReferenceException: Object reference not set to an instance of an object GameManager.Start () (at Assets/GameManager.cs:20)

Bir diğer sorunum ise kod yazarken Text i “using UnityEngine.UI;” kodu ile elle girdim. Çünkü Microsoft Visual Studio Text imi görmedi.
Elle yazmam sorunu çözer mi yoksa başka bir şey mi yapmam gerekir? Aşağıya bir örnek kod yazacağım. Bu benim temel başlangıç kodum. Lütfen inceleyip neyi yanlış yaptığımı söyler misiniz? İnternette yerli ve yabancı kaynaklarda pek çok kişinin bu ve benzeri sorunlar yaşadığını gördüm ama çözüm gösteren görmedim. 

Kafayı yedim yiycemSmile Neyi görmüyor olabilirim?
                                                                                 -Örnek Kod-
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;


public class GameManager : MonoBehaviour
{
public Text mainText;
public Button option1;
public Button option2;

void Start()
{
mainText.text = “Giriş Metni!”;
option1.GetComponentInChildren<Text>().text = “Birincil Buton”;
option2.GetComponentInChildren<Text>().text = “İkincil Buton”;
}

public Text mainText;
public Button option1;
public Button option2;


Bu üç satırda verdiğiniz referansları unity editorde sürükle bırak ile referanslamalısınız. Yani GameManager scriptinizi eklediğiniz nesneyi seçtiğinizde sağ tarafta inspector penceresinde scriptte verdiğiniz referansları görürsünüz.


Diğer sorunuz using UnityEngine.UI; bu yaptığınız doğru. Text i kullanmak için bağı olduğu UI sınıfını scriptinize dahil etmiş oluyorsunuz.
(13-11-2020, Saat: 12:48)mtat0640 Nickli Kullanıcıdan Alıntı: Linkleri görüntüleyebilmek için Kayıt ol manız veya Giriş yapmanız gerekiyor.Anlayışınız için teşekkürler.!
(12-11-2020, Saat: 19:58)Kromozom1 Nickli Kullanıcıdan Alıntı: Linkleri görüntüleyebilmek için Kayıt ol manız veya Giriş yapmanız gerekiyor.Anlayışınız için teşekkürler.!Herkese merhaba,
Unity ile oyun yapmayı öğrenmeye çalışıyorum. C# ile kendimi biraz biraz geliştirdim. Yani kodları ve kodun ne demek istediğini anlamaya başladım desem daha doğru olacak. Ancak çok basit bir problemle karşı karşıya kaldım.


Game manager scriptimi yazarken her seferinde bu hatayı alıyorum. 
NullReferenceException: Object reference not set to an instance of an object GameManager.Start () (at Assets/GameManager.cs:20)

Bir diğer sorunum ise kod yazarken Text i “using UnityEngine.UI;” kodu ile elle girdim. Çünkü Microsoft Visual Studio Text imi görmedi.
Elle yazmam sorunu çözer mi yoksa başka bir şey mi yapmam gerekir? Aşağıya bir örnek kod yazacağım. Bu benim temel başlangıç kodum. Lütfen inceleyip neyi yanlış yaptığımı söyler misiniz? İnternette yerli ve yabancı kaynaklarda pek çok kişinin bu ve benzeri sorunlar yaşadığını gördüm ama çözüm gösteren görmedim. 

Kafayı yedim yiycemSmile Neyi görmüyor olabilirim?
                                                                                 -Örnek Kod-
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;


public class GameManager : MonoBehaviour
{
public Text mainText;
public Button option1;
public Button option2;

void Start()
{
mainText.text = “Giriş Metni!”;
option1.GetComponentInChildren<Text>().text = “Birincil Buton”;
option2.GetComponentInChildren<Text>().text = “İkincil Buton”;
}

public Text mainText;
public Button option1;
public Button option2;


Bu üç satırda verdiğiniz referansları unity editorde sürükle bırak ile referanslamalısınız. Yani GameManager scriptinizi eklediğiniz nesneyi seçtiğinizde sağ tarafta inspector penceresinde scriptte verdiğiniz referansları görürsünüz.


Diğer sorunuz using UnityEngine.UI; bu yaptığınız doğru. Text i kullanmak için bağı olduğu UI sınıfını scriptinize dahil etmiş oluyorsunuz.

Merhaba,
Sorunumu bu sabah çözmüş bulunuyorum. Zaten sorunum referansı sağlayamıyor oluşumdu. Meğer metinler ve opsiyonlar arası virgül kulanımında hata yapıyormuşum. Ama bu sayede çok şey öğrendim. C# meğerse göz korkuttuğu kadar da zor bir dil değilmiş. Mantığı anladıktan sonra ve "imla" kurallarına uyduktan sonra dili kullanmak çok kolay. En azından mantığı anladım. Şuan ingilizcesi başlangıç seviyesinde olan ve konuşma kılavuzu yardımı ile bir turiste yol tarif etsem de en azından "go,go. Right and left" diyebiliyorum. Smile
Geri dönüşünüz için teşekkür ederim.
Saygılar...