Unity sürükle bırak kodunda hata: Karakter kayıyor

Katılım
28 Temmuz 2023
Mesajlar
41
Çözümler
1
Daha fazla  
Cinsiyet
Erkek
Arkadaşlar 2 boyutlu bir uzay oyunu geliştiriyorum. Oyunda karakteri sürükle bırak kodu ile hareket ettirmek istiyorum ve bunun icin basit bir kod yazdim fakat o kodu yazarken hareket ettirmek icin rigidbody2D kullanmamistim ve duvarın içinden geçiyordu. Neyse bu seferinde kullandım fakat bu sefer de karakter gereksiz kayıyor nasıl yapacagımı internette bulamadim, kendimde biraz karıştırdım yapamadım. Nasıl halledebilirim?
 

Dosya Ekleri

  • Ekran görüntüsü 2024-06-11 012944.png
    Ekran görüntüsü 2024-06-11 012944.png
    131,7 KB · Görüntüleme: 35
Son düzenleyen: Moderatör:
Hocam uzun zaman oldu kullanmayalı unuttum ama bu sorunu yaşadım ve çözümünü bulmuştum çok eskiden.
Karaktere basıp rigidbody 2D'nin ayarlarıyla oyna bir şeyleri değiştir düzelecek diye biliyorum. Biraz kurcala oraları.
 
Hocam uzun zaman oldu kullanmayalı unuttum ama bu sorunu yaşadım ve çözümünü bulmuştum çok eskiden.
Karaktere basıp rigidbody 2D'nin ayarlarıyla oyna bir şeyleri değiştir düzelecek diye biliyorum. Biraz kurcala oraları.

Inspectordeki RB2D ayarlarini diyorsan vallahi neler neler yapmadim her şeyiyle oynadim yapamadimya.
 
Arkadaşlar 2 boyutlu bir uzay oyunu geliştiriyorum. Oyunda karakteri sürükle bırak kodu ile hareket ettirmek istiyorum ve bunun icin basit bir kod yazdim fakat o kodu yazarken hareket ettirmek icin rigidbody2D kullanmamistim ve duvarın içinden geçiyordu. Neyse bu seferinde kullandım fakat bu sefer de karakter gereksiz kayıyor nasıl yapacagımı internette bulamadim, kendimde biraz karıştırdım yapamadım. Nasıl halledebilirim?

Eğer hala çözemediysen bunu kullan.

C#:
using UnityEngine;
using System.Collections.Generic;

public class Kod : Monobehaviour
{
 public GameObject player;
 bool izin;
 void Start()
 {
 player = this.gameObject;
 }
 void Update()
 {
 if(izin)
 {
 Vector2 pos = Camera.Main.ScreenToWorldPoint(Input.mousePosition);
 GetComponent<Rigidbody2D>().MovePosition(pos);
 }
 }
 void OnMouseDown()
 {
 izin = true;
 }

 void OnMouseUp()
 {
 izin = false;
 }
}
 

Technopat Haberler

Yeni konular

Geri
Yukarı