Transform.localScale

public Vector3 localScale;


Açıklama

Transform'un, üst nesnesine göre ölçeği.

Aşağıdaki örnek, (1,1,1) ölçeğine sahip bir küre GameObject oluşturur. Uygulama daha sonra Transform.localScale değerini 1.0'dan 0.25'e ve tekrar 1.0'a değiştirir.

using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class Example : MonoBehaviour
{
    private GameObject sphere;
    private Vector3 scaleChange, positionChange;

    void Awake()
    {
        Camera.main.clearFlags = CameraClearFlags.SolidColor;

        // Merkezde bir küre oluştur.
        sphere = GameObject.CreatePrimitive(PrimitiveType.Sphere);
        sphere.transform.position = new Vector3(0, 0, 0);

        // Bir düzlem oluştur ve 0.5 aşağıya taşı.
        GameObject plane = GameObject.CreatePrimitive(PrimitiveType.Plane);
        plane.transform.position = new Vector3(0, -0.5f, 0);

        // Zemin rengini maviye değiştir.
        // Mavi malzeme Resources içinde mevcut ve bu komut dosyasında oluşturulmamış.
        Renderer rend = plane.GetComponent<Renderer>();
        rend.material = Resources.Load<Material>("blue");

        scaleChange = new Vector3(-0.01f, -0.01f, -0.01f);
        positionChange = new Vector3(0.0f, -0.005f, 0.0f);
    }

    void Update()
    {
        sphere.transform.localScale += scaleChange;
        sphere.transform.position += positionChange;

        // Küre zemine çarptığında yukarı hareket et veya
        // küre ölçeği 1.0f'i aştığında aşağı hareket et.
        if (sphere.transform.localScale.y < 0.1f || sphere.transform.localScale.y > 1.0f)
        {
            scaleChange = -scaleChange;
            positionChange = -positionChange;
        }
    }
}


Bu blog Unity Docs'un Türkçeye çevrilmiş halidir.

Yorumlar

Bu blogdaki popüler yayınlar

Important Classes - Vectors

RequireComponent

Important Classes - GameObject