Unity Engine C# kodu çalışmıyor

Katılım
16 Mayıs 2020
Mesajlar
169
Daha fazla  
Cinsiyet
Erkek
Kod:
using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class Spawner : MonoBehaviour
{

 public Birdy BirdScript;

 public GameObject borular;

 public float height;

 private void start()
 {
 StartCoroutine(SpawnObject());
 }

 public IEnumerator SpawnObject()
 {
 while (!BirdScript.isDead)
 {
 Instantiate(borular, new Vector3(3, Random.Range(-height, height), 0), Quaternion.identity);

 yield return now WaitForSeconds(1f);
 }

 }
}

Kod bu şekilde. Ama Unity Engine programında çalıştıramıyorum. Diğer kodları isterseniz gönderebilirim. Yazılımda yeniyim, düzgün karşılayın lütfen.
 
Kod Startta olduğu için çalışsa bile yalnızca 1 kere çalışır. Bunu Coroutine ile Update içerisinde yapmaya çalışırsanız da Memory Leak hatası alabilirsiniz. Öncelikle kodunuzu update e alın ve while şartı yerine bir sayı(örneğin 15 tane 15 tane ışınlasın ve ilk 15 i geçince 3. 15 i ışınlasın) gibi bir hale getirmeyi deneyin
 
BirdScript.isDead'ı başlangıçta true olarak tanımladın mı? Bool değişkenlerin C#'ta varsayılan değeri false. Belki orada bir sorun olabilir diye düşündüm. Çalışmıyor derken, hata vermiyor ama hiçbir değişiklik de olmuyor sanırım değil mi?
 
Kod Startta olduğu için çalışsa bile yalnızca 1 kere çalışır. Bunu Coroutine ile Update içerisinde yapmaya çalışırsanız da Memory Leak hatası alabilirsiniz. Öncelikle kodunuzu update e alın ve while şartı yerine bir sayı(örneğin 15 tane 15 tane ışınlasın ve ilk 15 i geçince 3. 15 i ışınlasın) gibi bir hale getirmeyi deneyin
fly fly! - oyun - PC, Mac & Linux Standalone - Unity 2020.3.4f1 Personal_ _DX11_ 21.05.2021 11...png

hata sol alttaki "expected" hatası
BirdScript.isDead'ı başlangıçta true olarak tanımladın mı? Bool değişkenlerin C#'ta varsayılan değeri false. Belki orada bir sorun olabilir diye düşündüm. Çalışmıyor derken, hata vermiyor ama hiçbir değişiklik de olmuyor sanırım değil mi?
using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class Birdy : MonoBehaviour
{
public bool isDead;

public float velocity = 1f;
public Rigidbody2D rb2D;


void Update()
{
if (Input.GetMouseButtonDown(0))
{
rb2D.velocity = Vector2.up * velocity;

}
}
}

kod bu şekilde
 
Eki Görüntüle 1033774
hata sol alttaki "expected" hatası

using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class Birdy : MonoBehaviour
{
public bool isDead;

public float velocity = 1f;
public Rigidbody2D rb2D;


void Update()
{
if (Input.GetMouseButtonDown(0))
{
rb2D.velocity = Vector2.up * velocity;

}
}
}

kod bu şekilde
Hata gözükmüyor hocam
 
Eki Görüntüle 1033774
hata sol alttaki "expected" hatası

using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class Birdy : MonoBehaviour
{
public bool isDead;

public float velocity = 1f;
public Rigidbody2D rb2D;


void Update()
{
if (Input.GetMouseButtonDown(0))
{
rb2D.velocity = Vector2.up * velocity;

}
}
}

kod bu şekilde
Bu kodda rb2D nesnesine bir referans atanmamış. RigidBody2D bileşenine sahip bir oyun objesini ataçladığınızdan emin olun. Onun haricinde mantık hatası yok.
 
Uyarı! Bu konu 5 yıl önce açıldı.
Muhtemelen daha fazla tartışma gerekli değildir ki bu durumda yeni bir konu başlatmayı öneririz. Eğer yine de cevabınızın gerekli olduğunu düşünüyorsanız buna rağmen cevap verebilirsiniz.

Technopat Haberler

Geri
Yukarı