Bien lo que vamos aprender básicamente es como crear un random aleatorio , lo primero que vamos hacer en nuestro Unity es crear un Canvas
el Text no lo tengáis muy en cuenta yo en esta camvas lo importante son los Botones que he creado el primer botón que tengo creado es el STARS el ultimo botón que tengo creado es la imagen en blanco, también he creado un Create Empty al que he llamado Control y dónde pondré el Script
ahora nos vamos a meter al script de Control
using System.Collections; using System.Collections.Generic; using UnityEngine; using UnityEngine.UI; public class intento : MonoBehaviour { public Image ObjectwithImage; public Sprite dice0; public Sprite dice1; public Sprite dice2; public Sprite dice3; public Sprite dice4; public Sprite dice5; public Sprite[] images; void Start() { images = new Sprite[6]; images[0] = dice0; images[1] = dice1; images[2] = dice2; images[3] = dice3; images[4] = dice4; images[5] = dice5; } public void changeImage() { int num = UnityEngine.Random.Range(0, images.Length); ObjectwithImage.sprite = images[num]; } }
Aquí tendriamos el Script un Script bastante pequeño .
public Image ObjectwithImage;
Aquí en este pequeño script pondré un botón que sera el que nos mostrara aleatoriamente los números del dado
public Sprite dice0; public Sprite dice1; public Sprite dice2; public Sprite dice3; public Sprite dice4; public Sprite dice5; public Sprite[] images; void Start() { images = new Sprite[6]; images[0] = dice0; images[1] = dice1; images[2] = dice2; images[3] = dice3; images[4] = dice4; images[5] = dice5;
aquí pondriamos las imagenes de nuestro dado
Size mostraría las imágenes las 6 que tiene debajo pero ahora vamos hacer otra cosa vamos hacer el Script mas pequeño y funcionaria igual.
using System.Collections; using System.Collections.Generic; using UnityEngine; using UnityEngine.UI; public class intento : MonoBehaviour { public Image ObjectwithImage; public Sprite[] images;/// aquí pondriamos nuestras imagenes public void changeImage() { int num = UnityEngine.Random.Range(0, images.Length);// el random seguiria funcionando ObjectwithImage.sprite = images[num]; } }
ahora vamos a la parte que hace que los dados salgan aleatoriamente el Random
public void changeImage()
{
int num = UnityEngine.Random.Range(0, images.Length);
ObjectwithImage.sprite = images[num];
}
}
una vez hecho esto vamos a nuestro boton
en changeImage y ya tendríamos nuestro botón para utilizar aleatoriamente.