Random.Range

Deklarasyon

public static float Range(float minInclusive, float maxInclusive);


Açıklama

Bu fonksiyon, [minInclusive..maxInclusive] aralığında rastgele bir ondalık sayı döndürür (aralık dahil).

Eğer minInclusive, maxInclusive'den büyükse, sayılar otomatik olarak değiştirilir.

Önemli: Hem alt hem üst sınırlar dahildir. Bu aralık içindeki herhangi bir ondalık değer, minInclusive ve maxInclusive dahil olmak üzere, ortalama olarak on milyon rastgele örneklemde yaklaşık bir kez görünecektir.

Bu fonksiyonun int tipi için bir aşırı yüklemesi de vardır ve özellikle aralık maksimumuyla ilgili biraz farklı şekilde çalışır. Ayrıntılar için ilgili belgelere bakınız.

UnityEngine.Random hakkındaki algoritma detayları ve diğer rastgele sayı üreteçlerinden farklı olabilecek örnekler için Random bölümüne bakabilirsiniz.

using UnityEngine;

public class ExampleClass : MonoBehaviour
{
    public GameObject prefab;
    // "Instantiate!" düğmesine tıklayın ve yeni bir `prefab` -10.0 ile 10.0 arasında (dahil)
    // x-z düzleminde oluşturulacak.
    void OnGUI()
    {
        if (GUI.Button(new Rect(10, 10, 100, 50), "Instantiate!"))
        {
            var position = new Vector3(Random.Range(-10.0f, 10.0f), 0, Random.Range(-10.0f, 10.0f));
            Instantiate(prefab, position, Quaternion.identity);
        }
    }
}



Deklarasyon

public static int Range(int minInclusive, int maxExclusive);


Açıklama

Bu fonksiyon, [minInclusive..maxExclusive) aralığında (üst sınır dahil değil) rastgele bir tamsayı döndürür (Salt Okunur).

Bu metod aşağıdaki şekillerde davranır:

  • maxExclusive, üst sınır dahil değildir, bu nedenle örneğin Random.Range(0, 10) 0 ile 9 arasında bir değer döndürür ve her bir değer yaklaşık olarak eşit olasılıkla ortaya çıkar.
  • Eğer minInclusive ve maxExclusive eşitse, "dahil değil kuralı" yoksayılır ve minInclusive değeri döndürülür.
  • Eğer minInclusive, maxExclusive'den büyükse, sayılar otomatik olarak değiştirilir.

Bu fonksiyonun float tipi için bir aşırı yüklemesi vardır ve özellikle aralık maksimumuyla ilgili biraz farklı şekilde çalışır. Daha fazla bilgi için ilgili belgelere bakınız.

UnityEngine.Random hakkındaki algoritma detayları ve diğer rastgele sayı üreteçlerinden farklı olabilecek örnekler için Random bölümüne bakabilirsiniz.

using UnityEngine;
public class ExampleClass : MonoBehaviour
{
    public GameObject prefab;
    public float zoffset = 10;
    // "Instantiate!" düğmesine tıklayın ve `prefab` nesnelerinin yeni bir grid
    // oluşturulmasıyla her yönde rastgele bir sayıda öğe oluşturulacaktır.
    void OnGUI()
    {
        if (GUI.Button(new Rect(10, 10, 100, 50), "Instantiate!"))
        {
            // grid her zaman 1, 2, 3, 4 veya 5 prefab genişliğinde olacaktır
            int xcount = Random.Range(1, 6);
            // grid her zaman 2, 3 veya 4 prefab uzunluğunda olacaktır
            int ycount = Random.Range(2, 5);

            for (int x = 0; x != xcount; ++x)
            {
                for (int y = 0; y != ycount; ++y)
                {
                    var position = new Vector3(x * 2, zoffset, y * 2);
                    Instantiate(prefab, position, Quaternion.identity);
                }
            }
            zoffset += 2;
        }
    }
}


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

Yorumlar

Bu blogdaki popüler yayınlar

Important Classes - Vectors

RequireComponent

Important Classes - GameObject