Flappy Bird silinmeyen nesne

oguzhansr40

Kilopat
Katılım
1 Temmuz 2017
Mesajlar
1.631
Çözümler
3
Daha fazla  
Cinsiyet
Erkek
Meslek
Haçker
Öncelikle selamunaleyküm arkadaşlar. Ben normalde oyunlara mod falan yapıyordum. Şimdi ise kendim bir oyun yapmak istedim. Bu işlerde yeni olduğum için, yaptığım araştırmalarda en kolay yapılan oyunu Flappy Bird oyunu olarak gördüm. Kendim sıfırdan her şeyini ben yaparak yapılmaya koyuldum. Her şeyi hallettim. Ama spawn olan bir nesneyi ekrandan çıktıktan sonra silinmesi için ayarladım. Başlangıçta güzel güzel çalışıyor. Ama 4. objeden sonra hata veriyor ve objenin spawn olması da duruyor. Acaba ben bunu nasıl çözerim?

Kod:
HATA: MissingReferenceException: The object of type 'GameObject' has been destroyed but you are still trying to access it.
Your script should either check if it is null or you should not destroy the object.
UnityEngine.Object.Internal_InstantiateSingle (UnityEngine.Object data, UnityEngine.Vector3 pos, UnityEngine.Quaternion rot) (at <127e81e1cb3441cc97d26b1910daae77>:0)
UnityEngine.Object.Instantiate (UnityEngine.Object original, UnityEngine.Vector3 position, UnityEngine.Quaternion rotation) (at <127e81e1cb3441cc97d26b1910daae77>:0)
UnityEngine.Object.Instantiate[T] (T original, UnityEngine.Vector3 position, UnityEngine.Quaternion rotation) (at <127e81e1cb3441cc97d26b1910daae77>:0)
Spawner+<SpawnObject>d__5.MoveNext () (at Assets/Scripts/Spawner.cs:20)
UnityEngine.SetupCoroutine.InvokeMoveNext (System.Collections.IEnumerator enumerator, System.IntPtr returnValueAddress) (at <127e81e1cb3441cc97d26b1910daae77>:0)

[CODE title="Spawner.cs" highlight="22"]using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class Spawner : MonoBehaviour
{

public Birdy bs;
public GameObject Borular;
public float height;
public float time;

void Start()
{
StartCoroutine(SpawnObject(time));
}

public IEnumerator SpawnObject(float time)
{
while (!bs.isDead)
{
Instantiate(Borular, new Vector3(3, Random.Range(-height, height), 0), Quaternion.identity);
yield return new WaitForSeconds(time);
}
}
}[/CODE]

Sonrasında 22. satırda hata veriyor.

[CODE title="Boru Hareketi ve Silme" highlight="9-13"]using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class Move : MonoBehaviour
{
public float speed;

private void Start()
{
Destroy(gameObject, 10);
}

void Update()
{
transform.position += Vector3.left * speed * Time.deltaTime;
}
}[/CODE]

Bunda ise boruların hareket etme kodu ve silme kodu var. Silme kodu 9 ve 13 satırlarında.
 

Yeni konular

Geri
Yukarı