CodeBlanks Logo Icon CodeBlanks

Translate ile hareket

transform.Translate ile göreceli hareketi öğrenirsin.

Translate ile hareket

transform.Translate, bir nesneyi mevcut konumuna göre hareket ettirmek için kullanılır. Verdiğin Vector3 değerleri nesnenin konumuna eklenir. Böylece nesneye mutlak bir konum atamak yerine belirli miktarda hareket ettirirsin.

transform.Translate(1, 0, 0);

Bu örnek nesneyi kendi hareket yönlerine göre bir birim ilerletir.

Göreceli hareketin mantığı

Translate ile yapılan hareket, mevcut konumdan başlar ve verilen miktarı mevcut konuma ekler. Örneğin transform.Translate(0, 1, 0) nesneyi bir birim Y yönünde hareket ettirir. Metoda Vector3 göndererek de aynı işlemi gerçekleştirebilirsin.

Vector3 movement = new Vector3(0, 0, 3);
transform.Translate(movement);

Translate varsayılan olarak nesnenin yerel koordinat yönlerine göre çalışır.

Uygulama Nesneyi Translate ile hareket ettir

Start metodu içinde nesneyi mevcut konumundan X ekseninde 3, Y ekseninde 0 ve Z ekseninde 2 birim hareket ettir. Hareketi transform.Translate ve Vector3 kullanarak gerçekleştir.

Başlangıç kodu

Player.cs
using UnityEngine;

public class TranslateMover : MonoBehaviour
{
    void Start()
    {
        // Move the object relative to its current position.
    }
}

Örnek çözüm

Player.cs
using UnityEngine;

public class TranslateMover : MonoBehaviour
{
    void Start()
    {
        transform.Translate(new Vector3(3, 0, 2));
    }
}

Beklenen çıktı

(3.00, 0.00, 2.00)

Soru ve cevaplar

Dersin sorularını cevaplarıyla birlikte inceleyebilirsin. Kendini denemek istersen dersi interaktif olarak çöz.

1 Bir nesneyi bulunduğu konumdan X ekseninde 2 birim hareket ettirmek için hangi kodu kullanırsın?

  • transform.position = new Vector3(2, 0, 0);
  • transform.Translate(0, 2, 0);
  • transform.Translate(2, 0, 0); Doğru cevap
  • transform.localScale = new Vector3(2, 0, 0);

Açıklama: Translate(2, 0, 0), nesneyi mevcut konumundan X ekseninde iki birim hareket ettirir.

2 Göreceli hareket miktarını belirle

Soru
transform.Translate(new Vector3(0, ____, 0));
Cevap
transform.Translate(new Vector3(0, 4, 0));

Açıklama: İkinci Vector3 değeri Y eksenini temsil eder. Dört birimlik hareket için bu değere 4 yazılır.

3 Translate hareketi

Kavram Anlamı
transform.Translate Nesneyi göreceli olarak hareket ettirir
new Vector3(1, 0, 0) X ekseninde bir birimlik miktar belirtir
new Vector3(0, 1, 0) Y ekseninde bir birimlik miktar belirtir
new Vector3(0, 0, 1) Z ekseninde bir birimlik miktar belirtir

Başlangıç bölümündeki tüm dersler