114. CLASE RANDOM







Clase para generar números aleatorios.


VARIABLES DE CLASE:

seed:

static var seed : int


Coloca la semilla para el generador de números aleatorios.


value:

static var value : float


Devuelve un número aleatorio entre 0.0 (inclusive) y 1.0 (inclusive).


for(var x: int =0; x<10; x++){
print(Random.value);
}


Podréis comprobar que los diez números que nos aparecerán en pantalla están entre ambos valores.


insideUnitSphere:

static var insideUnitSphere : Vector3


Devuelve un punto aleatorio dentro de una esfera con radio 1.


transform.position = Random.insideUnitSphere * 2;


Este ejemplo situaría nuestro cubo en un punto aleatorio dentro de una esfera (3 dimensiones) con un radio de 2 unidades.


insideUnitCircle:

static var insideUnitCircle : Vector2


Devuelve un punto aleatorio dentro de un círculo con radio 1.


var newPosition : Vector2 = Random.insideUnitCircle * 5;

transform.position.x = newPosition.x;
transform.position.y = newPosition.y;


en este caso nuestro cubo se movería dentro de un círculo (2D) con radio de 5 unidades.


onUnitSphere:

static var onUnitSphere : Vector3

Devuelve un punto aleatorio sobre la superficie de una esfera con radio 1.


function FixedUpdate(){
rigidbody.velocity = Random.onUnitSphere * 10;
}


Esta función mueve al rigidbody de nuestro cubo a una velocidad de 10 en una dirección aleatoria, por lo que no esperéis ver otra cosa al darle al play que un cubo volviéndose loco.


rotation:

static var rotation : Quaternion


Devuelve una rotación aleatoria (read only)


var prefab : GameObject;
Instantiate(prefab, Vector3.zero, Random.rotation);


Este ejemplo instanciaría un nuevo gameobject en el centro de la escena y con una rotación aleatoria.


FUNCIONES DE CLASE:

Range:

static function Range (min : float, max : float) : float


Devuelve un float aleatorio entre un min (inclusive) y max (inclusive).


var prefab : GameObject;

function Start () {
var position: Vector3 = Vector3(Random.Range(-5.0, 5.0), 0, Random.Range(-5.0, 5.0));
Instantiate(prefab, position, Quaternion.identity);
}


Si arrastramos la esfera a la variable expuesta prefab, al darle al play observaremos que se clona una instancia de la misma y aparece en un lugar aleatorio en un margen de 5 metros en los ejes X y Z.

static function Range (min : int, max : int) : int

La misma función, pero admite y devuelve integers.

POSTED BY UnityScripts
POSTED IN
DISCUSSION 2 Comments

2 Responses to : 114. CLASE RANDOM

  1. Corrección: la función Range con int, no es igual a Range con float:
    Range usada con int retorna un número aleatorio entre

    min [inclusive] y max [exclusivo]

    La diferencia es que max es exclusivo.

  2. Best Titanium Engagement Rings for Her Majesty's Secret
    Her Majesty's Secret Pepper Ring has titanium pen been 1xbet login developed to withstand the sun's ridge titanium wallet rays titanium white dominus and is a perfect addition micro titanium trim to any garden garden.

Leave a Reply

Con la tecnología de Blogger.