Úvod HTML CSS PHP MySQL JavaScript
random

Random

Třída pro generování náhodných dat.

Statické vlastnosti:

  • insideUnitCircle - Vrací náhodný bod uvnitř kruhu s poloměrem 1 (pouze pro čtení).
  • insideUnitSphere - Vrací náhodný bod uvnitř koule s poloměrem 1 (pouze pro čtení).
  • onUnitSphere - Vrací náhodný bod na plochu koule s poloměrem 1 (pouze pro čtení).
  • rotation -Vrací náhodnou rotaci (pouze pro čtení).
  • rotationUniform -Vrací náhodnou rotaci s rovnoměrným rozložením (pouze pro čtení).
  • state - Slouží k uložení stavu generátoru a znovu obnovení generátoru.
  • value - Vrátí náhodné číslo mezi 0,0 [včetně] a 1,0 [včetně] (Pouze ke čtení).

Statické metody:

  • ColorHSV - Náhodná barva s hodnotami HSV a alfa v zadaném rozsahu.
  • InitState(int číslo) - Inicializuje stav generátoru náhodných čísel podle čísla.
  • Range - Vrátí náhodné číslo typu float nebo int mezi zadanými hodnotami.
insideUnitCircle
       transform.position = Random.insideUnitCircle * 5;
      
insideUnitSphere
       transform.position = Random.insideUnitSphere * 5;
      
onUnitSphere
       transform.position = Random.onUnitSphere * 4;
      
rotation
       transform.rotation = Random.rotation;
      
rotationUniform
    private IEnumerator Start()
    {
        while (Application.isPlaying)
        {
            Quaternion rotation =  Random.rotationUniform;

            while(Vector3.Distance( this.transform.root.eulerAngles, rotation.eulerAngles) > 1.0f)
            {
                 this.transform.rotation = Quaternion.Slerp( this.transform.rotation, rotation,  Time.deltaTime);
                 yield return null;

            }
            yield return new  WaitForSeconds(1.0f); //počká vteřinu, pak znovu spustí rotaci  
        }
    }
      
state
     void Start  ()
    {
        Random.State  oldState = Random.state;

        PrintRandom("Step 1"  );
        PrintRandom("Step 2"  );

        Random.state = oldState;

        PrintRandom("Step 3"  );
        PrintRandom("Step 4"  );
    }

    void   PrintRandom(string   label)
    {
        Debug.Log(string.Format("{0} - RandomValue {1}"  , label, Random.Range(1, 100)));
    }
      
value
     if (Input.GetKeyDown(KeyCode.Space))
        {
           Renderer rend = GetComponent<Renderer>();
            rend.material.color = new Color(Random.value, Random.value, Random.value);
        }
      
ColorHSV
   void OnMouseDown()
    {
        GetComponent<Renderer>().material.color = Random.ColorHSV(0f, 1f, 1f, 1f, 0.5f, 1f);
    }
      
InitState Generátor náhodných čísel není skutečně náhodný, ale generuje čísla v přednastavené sekvenci. Podle zadaného čísla se generuje vždy stejné sekvence čísel.
       for (int i = 0; i < 5; i++)
        {
            Random.InitState(42);
            float noiseValues = Random.value;
            Debug.Log(noiseValues);
        }
      
Pro náhodná čísla (jakoby-hláška jedné slečny v práci:) ) se může využít systémový čas.
        var dt = System.DateTime.Now;
        Random.InitState(dt.Second*dt.Minute);
        float noiseValues = Random.value;
        Debug.Log(noiseValues);
      
Range Generuje float od -5 do 3.
           transform.position = new Vector3(Random.Range(-5.0f, 3.0f), transform.position.y);
          
Generuje int od-5 do 2.
           transform.position = new Vector3(Random.Range(-5, 3), transform.position.y);
          
pravy Ascii tabulka
Barvy
Klávesové zkratky


©2013-2021 Trojklik.8u.cz Autor: Vašek D.