Unity kod çalışmıyor

Meteakyz

Decapat
Katılım
11 Haziran 2021
Mesajlar
383
Çözümler
3
Daha fazla  
Cinsiyet
Erkek
Unity de bu kod çalışmıyor. Yön tuşlarına basıyorum ama karakter hareket etmiyor.
Kodda bir sıkıntı varsa söyler misiniz?

1670503467726.png
 
Son düzenleme:
1- objeye rigidbody ekli mi kontrol et.
2- speedamount'u 100 falan yap test için.

Evet rigidbody2D ekli.
Speed amount u 100 yaptım bir şey değişmedi.
Eğer kod da bir sıkıntı olabilir mi ya da Visual Studio da net Core 3.1 falan indirin diyorlar.

1670504416427.png
 
Son düzenleme:
Eki Görüntüle 1596836
Bence bu tarz hareket kodu yazmak daha hayırlı.

Direkt olarak kodu atar mısın :)

Kod kötü ama hatalı değil çalışması lazım.
Circle collideri objeden kaldırıp dener misin?

Evet circle collideri kaldırınca kod çalıştı fakat objelerinden içinden geçiyor haliyle.
Capsule collider ekledim ve sorunu çözdüm hem objlelerin üstünde duruyor hem de kod çalıştı teşekkürler.
Bir tane daha sorum var Visual Studio mu yoksa Visual Studio Code mi hangisi yararlı olur benim için daha yeni başlamış birisi olarak.
 
Son düzenleme:
Direkt olarak kodu atar mısın :)



Evet circle collideri kaldırınca kod çalıştı fakat objelerinden içinden geçiyor haliyle.
Capsule collider ekledim ve sorunu çözdüm hem objlelerin üstünde duruyor hem de kod çalıştı teşekkürler.
Bir tane daha sorum var Visual Studio mu yoksa Visual Studio Code mi hangisi yararlı olur benim için daha yeni başlamış birisi olarak.
Kod:
public float hiz; // eşitleyip değer verebilirsin veya unity ekranından düzenleyebilirsin
public string axes = "Vertical";
//vertical inputunu axes diye atamamızın sebebi ise input manager ayarlarını rahatça yapabilmek

Void FixedUpdate()
{
    float V = Input.GetAxis(axes); //isteğe bağlı tekrardan speedle çarpabilirsin
    GetComponent<Rigidbody2D>().velocity = new Vector2(0,V*speed);
    // Bu kod şuan dikey harekete özgü. Sen istersen bir tane de horizontal değişkeni açıp xy ekseninde istediğin gibi hareket edebilirsin.
}
 
Direkt olarak kodu atar mısın :)



Evet circle collideri kaldırınca kod çalıştı fakat objelerinden içinden geçiyor haliyle.
Capsule collider ekledim ve sorunu çözdüm hem objlelerin üstünde duruyor hem de kod çalıştı teşekkürler.
Bir tane daha sorum var Visual Studio mu yoksa Visual Studio Code mi hangisi yararlı olur benim için daha yeni başlamış birisi olarak.
Bunun sebebi colliderin yerinkiyle iç içe girmiş o yüzden hareket etmesini engelliyor. Circle kullanıp karakteri colliderler çakışmasın diye yukarıdan başlatırsan sorun çözülür.

Ayrıca colliderlerle uğraşırken rigidbody ile hareket ettir her zaman yoksa problem yaşarsın.
Kod:
public float hiz; // eşitleyip değer verebilirsin veya unity ekranından düzenleyebilirsin
public string axes = "Vertical";
//vertical inputunu axes diye atamamızın sebebi ise input manager ayarlarını rahatça yapabilmek

Void FixedUpdate()
{
    float V = Input.GetAxis(axes); //isteğe bağlı tekrardan speedle çarpabilirsin
    GetComponent<Rigidbody2D>().velocity = new Vector2(0,V*speed);
    // Bu kod şuan dikey harekete özgü. Sen istersen bir tane de horizontal değişkeni açıp xy ekseninde istediğin gibi hareket edebilirsin.
}
Arkadaşın yazdığı kod da problemli çünkü Start yerine FixedUpdate de component alıyor ki bu gereksiz ve performans sorunları yaşatır.
 
Kod:
public float hiz; // eşitleyip değer verebilirsin veya unity ekranından düzenleyebilirsin.
public string axes = "Vertical";
//vertical inputunu axes diye atamamızın sebebi ise input manager ayarlarını rahatça yapabilmek.

Void FixedUpdate()
{
 float V = Input.GetAxis(axes); //isteğe bağlı tekrardan speedle çarpabilirsin.
 GetComponent<Rigidbody2D>().velocity = new Vector2(0,V*speed);
 // Bu kod şuan dikey harekete özgü. Sen istersen bir tane de horizontal değişkeni açıp xy ekseninde istediğin gibi hareket edebilirsin.
}

Teşekkürler kral.

Bunun sebebi colliderin yerinkiyle iç içe girmiş o yüzden hareket etmesini engelliyor. Circle kullanıp karakteri colliderler çakışmasın diye yukarıdan başlatırsan sorun çözülür.

Ayrıca colliderlerle uğraşırken rigidbody ile hareket ettir her zaman yoksa problem yaşarsın.

Arkadaşın yazdığı kod da problemli çünkü start yerine fixedupdate de component alıyor ki bu gereksiz ve performans sorunları yaşatır.

Teşekkürler yardımın için ama rigidbody ile hareket ettir de demek istediğin ne.
 
Bunun sebebi colliderin yerinkiyle iç içe girmiş o yüzden hareket etmesini engelliyor. Circle kullanıp karakteri colliderler çakışmasın diye yukarıdan başlatırsan sorun çözülür.

Ayrıca colliderlerle uğraşırken rigidbody ile hareket ettir her zaman yoksa problem yaşarsın.

Arkadaşın yazdığı kod da problemli çünkü Start yerine FixedUpdate de component alıyor ki bu gereksiz ve performans sorunları yaşatır.
FixedUpdate i bir şey test etmek için kullanmıştım. Zaten dediğiniz doğru.
 

Geri
Yukarı