Unity 2D oyunda top hareket etmiyor

nadjaf

Femtopat
Katılım
6 Ağustos 2024
Mesajlar
3
Daha fazla  
Cinsiyet
Erkek
Merhaba,

Unity'de küçük bir 2D oyun geliştiriyorum. Kırmızı top nesnesine yer çekimi, sağa sola hareket ve zıplama hareketi eklemek istiyorum. Ancak top hareket etmiyor. Aşağıdaki adımları izledim:

  1. Rigidbody2D ve Collider Ekledim:
    • Top nesnesine Rigidbody2D ve Circle Collider 2D ekledim.
    • Platform nesnesine Box Collider 2D ekledim.
  2. Script Yazdım:
    • PlayerController script'ini top nesnesine atadım.
  3. Input Ayarlarını Kontrol Ettim:
    • Horizontal ve Jump inputlarının ayarlarını kontrol ettim.
  4. Tag Ekleme:
    • Platform nesnesine Ground tag'ini ekledim.
Top yine de hareket etmiyor. PlayerController script'imi ve Unity ayarlarımı aşağıda bulabilirsiniz:

1722946656626.png


Yardımcı olabilir misiniz?

Teşekkürler!
 
C#:
 void Update()
 {
 float move = Input.GetAxis("Horizontal");
 Debug.Log("Horizontal Input: " + move);

 rb.AddForce(new Vector2(move * speed, 0f), ForceMode2D.Force);

 if (Input.GetButtonDown("Jump") && isGrounded)
 {
 Debug.Log("Jump");
 rb.AddForce(new Vector2(0f, jumpForce), ForceMode2D.Impulse);
 }
 }

Yazdığın kodda RB. Velocity fonksiyonu istediğin bir hızda nesneyi ileri geri hareket ettirmeni sağlar eğer yukarı aşağı gibi zıplama fizikleri istiyorsan RB. Addforce kullanman gerekiyor.
 
C#:
 void Update()
 {
 float move = Input.GetAxis("Horizontal");
 Debug.Log("Horizontal Input: " + move);

 rb.AddForce(new Vector2(move * speed, 0f), ForceMode2D.Force);

 if (Input.GetButtonDown("Jump") && isGrounded)
 {
 Debug.Log("Jump");
 rb.AddForce(new Vector2(0f, jumpForce), ForceMode2D.Impulse);
 }
 }

Yazdığın kodda RB. Velocity fonksiyonu istediğin bir hızda nesneyi ileri geri hareket ettirmeni sağlar eğer yukarı aşağı gibi zıplama fizikleri istiyorsan RB. Addforce kullanman gerekiyor.
nadjaf_.
discordum bu bana ulaşırmısın lütfen unity konsunda bilgili olduğunu düşünüyorum
 
"speed" ve "jumpforce" değişkenlerini daha yüksek tanımlamayı deneyebilirsiniz. Mesela 5000 yapın, eğer çok hızlı bir hareket gözlemliyorsanız bu değerleri düşürerek doğru değerleri bulun. Bu değişkenleri public tanımlayarak Unity içinden de değer verebilirsin. Böylece doğru değerleri daha hızlı bulursun.
 
"Speed" ve "jumpforce" değişkenlerini daha yüksek tanımlamayı deneyebilirsiniz. Mesela 5000 yapın, eğer çok hızlı bir hareket gözlemliyorsanız bu değerleri düşürerek doğru değerleri bulun. Bu değişkenleri public tanımlayarak Unity içinden de değer verebilirsin. Böylece doğru değerleri daha hızlı bulursun.

Hayır, değerler gayet normal
 

Technopat Haberler

Yeni konular

Geri
Yukarı