Menu
CoddyTech

Vektörleri Toplama

Coddy'nin Unity Journey'sinin Unity'de Script Yazmanın Temelleri bölümünün bir parçası. Ders 24 / 85.

Bir Vector3 bir değişkende saklanabilir ve ikisi + ile toplanır: x, x'e; y, y'ye ve z, z'ye eklenir. İki itişin tek bir harekete dönüşmesi bu şekilde olur. Bu plaj topu saniyede 2 birim ileri yuvarlanırken rüzgâr onu saniyede 1 birim sağa doğru iter:

Vector3 roll = new Vector3(0, 0, 2);
Vector3 wind = new Vector3(1, 0, 0);

void Update()
{
    Vector3 move = roll + wind;   // (1, 0, 2)
    transform.position += move * Time.deltaTime;
}

Bir vektörü bir sayıyla çarpmak, bileşenlerinin her birini çarpar: wind * 3, fırtına gibi (3, 0, 0) olur; move * Time.deltaTime ise saniyedeki hareketi bu karedeki harekete dönüştürür. Çıkarma da bileşen bileşen çalışır ve a - b, b noktasından a noktasına götüren adımdır. İki vektör arasında * kullanılamaz: roll * wind derlenmez.

challenge icon

Görev

Kolay

Nehir tekneyi taşır, yukarı ok ise motorunu devreye sokar.

  1. Update() içinde Vector3 move = current; ile başla.
  2. Input.GetKey(KeyCode.UpArrow) true olduğu sürece += ile motor değerini move değerine ekle.
  3. move * Time.deltaTime değerini transform.position değerine ekle.

“Oyna” düğmesine bas: tekne sağa doğru sürüklenir ve yukarı oku basılı tuttuğunda nehri geçer. Ardından “Kontrol et” düğmesine bas.

Kendin dene

using UnityEngine;

public class Boat : MonoBehaviour
{
    public Vector3 current = new Vector3(0, 0, 0);
    public Vector3 motor = new Vector3(0, 0, 0);

    void Update()
    {
        // Akıntı tekneyi her zaman sürükler.
        // Yukarı ok tuşu basılı tutulduğunda motor da tekneyi iter.
    }
}

Unity'de Script Yazmanın Temelleri bölümündeki tüm dersler

Kendi başına pratik yap: Unity playground