Game Developer
Seçkin Üye
Merhaba dostlarım detaylı anlatım ile bugün 2D oyunlar için yürüme mekaniğini anlatıcağım.
C#:
public float hiz; // karakter yürüme hızını tanımladık
public Rigidbody2D rb; // Rigidbody2D'yi tanımladık
private Vector3 v3; //Vector3'ü tanımladık. Vector3 (İleri, Geri, Yukarı, Aşağı, Sağa, Sola) gibi mekanikleri yapmamızı sağlar.
void Start() // Oyun başlangıcında 1 kere çalıştırılır
{
rb = GetComponent<Rigidbody2D>();
}
void Update() // Oyun içerisinde sürekli döndürülen kısım.
{
v3 = Vector3.zero; // Değeri "0" olarak atadık
v3.x = Input.GetAxis("Horizontal"); // Sağa/Sola
v3.y = Input.GetAxis("Vertical"); // Yukarı/Aşağı
KaraterYurume(); // Yaptığımız void'i burda çağırıyoruz
}
void KarakterYurume() // Karakterimizi Yürütmemiz için kodlarımızı yazıcağımız yer.
{
/*
Yaptığımız şey şu; transform.position ile pozisiyonumuzu v3 değerleri ile toplattık. v3'ü zero olarak ayarladığımızı unutmayın.
Daha sonra hızımız yani hiz değişkeni ile çarptık böylelikle yürümemizi başlatmış olduk.
Time.deltaTime methodunu da FPS'i yüksek alanlar oyunu daha hızlı oynar o yüzden düşük fps ile yüksek fps arasındaki hızı kaldırmak için bu methodu kullanıyoruz.
*/
rb.MovePosition(transform.position + v3 * hiz * Time.deltaTime);
}