Unity de oyun yapmaya yenı basladım.Isler gayet ıyı gıdıyordu fakat bu hatayla karsılastım yardımcı olabılırımısınız ?
NullReferenceException: Object reference not set to an instance of an object Exhibition.NewMethod () (at Assets/Script/Exhibition.cs:28) Exhibition.Update () (at Assets/Script/Exhibition.cs:23)
Script
using System.Collections; using System.Collections.Generic; using UnityEngine; using UnityEngine.UI;
public class Exhibition : MonoBehaviour { public Image flagPlayer , starPlayer; public Text txtValuePlayer,namePlayer; public Image flagAI, starAI; public Text txtValueAI, nameAI;
// Start is called before the first frame update void Start() {
//valueAI = PlayerPrefs.GetInt("valueAI", l); }
// Update is called once per frame void Update() { NewMethod(); }
nasıl yapabılecegımı anlatabılırmısınız ? Simdşden teşekurler. :)
Çok temel bir şey bu nasıl anlatsam bilemedim, aslında herhangi bir Unity dersi veren bir video izleseniz orada çok rahat bulacaksınız cevabını. Oluşturduğunuz scripti bir objeye atın (bunu da nasıl yapacağım derseniz Unity derslerine bakınız) sonra bu objeye Unity panelinden tıklayın başına "public" yazarak oluşturduğunuz en baştaki değişkeni/değişkenleri (mesela sizde "public flagPlayer" var bunlardan biri olarak) zaten orada göreceksiniz. Yanlarındaki boşluklara Hiyeraşi panelindeki bununla alakalı objeniz neyse sürükleyip bırakacaksınız.
Çok temel bir şey bu nasıl anlatsam bilemedim, aslında herhangi bir Unity dersi veren bir video izleseniz orada çok rahat bulacaksınız cevabını. Oluşturduğunuz scripti bir objeye atın (bunu da nasıl yapacağım derseniz Unity derslerine bakınız) sonra bu objeye Unity panelinden tıklayın başına "public" yazarak oluşturduğunuz en baştaki değişkeni/değişkenleri (mesela sizde "public flagPlayer" var bunlardan biri olarak) zaten orada göreceksiniz.
Buraya kadar olan bolumu yapabılmıstım.Fakat Hiyeraşi panelındekı olayı anlamadım. < Resime gitmek için tıklayın > Yınede ılgılendıgınız ıcın cok tesekkur ederım.
Çok temel bir şey bu nasıl anlatsam bilemedim, aslında herhangi bir Unity dersi veren bir video izleseniz orada çok rahat bulacaksınız cevabını. Oluşturduğunuz scripti bir objeye atın (bunu da nasıl yapacağım derseniz Unity derslerine bakınız) sonra bu objeye Unity panelinden tıklayın başına "public" yazarak oluşturduğunuz en baştaki değişkeni/değişkenleri (mesela sizde "public flagPlayer" var bunlardan biri olarak) zaten orada göreceksiniz.
Buraya kadar olan bolumu yapabılmıstım.Fakat Hiyeraşi panelındekı olayı anlamadım. < Resime gitmek için tıklayın > Yınede ılgılendıgınız ıcın cok tesekkur ederım.
Attığınız görüntüde sağ alttaki son 4 objede "None" yazıyor. İşte onlar ne ise sürükleyip oraya bırakmanız gerek.
NullReferenceException: Object reference not set to an instance of an object
Exhibition.NewMethod () (at Assets/Script/Exhibition.cs:28)
Exhibition.Update () (at Assets/Script/Exhibition.cs:23)
Script
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;
public class Exhibition : MonoBehaviour
{
public Image flagPlayer , starPlayer;
public Text txtValuePlayer,namePlayer;
public Image flagAI, starAI;
public Text txtValueAI, nameAI;
// Start is called before the first frame update
void Start()
{
//valueAI = PlayerPrefs.GetInt("valueAI", l);
}
// Update is called once per frame
void Update()
{
NewMethod();
}
private void NewMethod()
{
flagPlayer.sprite = UITeam.instance.FlagTeam[PlayerPrefs.GetInt("valuePlayer", 1) - 1];
namePlayer.text = UITeam.instance.NameTeam[PlayerPrefs.GetInt("valuePlayer", 1) - 1];
txtValuePlayer.text = PlayerPrefs.GetInt("valuePlayer", 1).ToString();
}
public void ButtonBack()
{
Application.LoadLevel("Menu");
}
public void ButtonLeftPlayer()
{
if (PlayerPrefs.GetInt ("valuePlayer", 1) <= 1)
{
PlayerPrefs.SetInt("valuePlayer", 32);
}
else
{
int valuePlayer = PlayerPrefs.GetInt("valuePlayer", 1);
valuePlayer--;
PlayerPrefs.SetInt("valuePlayer", valuePlayer);
}
}
public void ButtonRightPlayer()
{
if (PlayerPrefs.GetInt("valuePlayer", 1) >= 32)
{
PlayerPrefs.SetInt("valuePlayer", 1);
}
else
{
int valuePlayer = PlayerPrefs.GetInt("valuePlayer",1);
valuePlayer++;
PlayerPrefs.SetInt("valuePlayer", valuePlayer);
}
}
}
DH forumlarında vakit geçirmekten keyif alıyor gibisin ancak giriş yapmadığını görüyoruz.
Üye Ol Şimdi DeğilÜye olduğunda özel mesaj gönderebilir, beğendiğin konuları favorilerine ekleyip takibe alabilir ve daha önce gezdiğin konulara hızlıca erişebilirsin.