Cita de: RubenV date=1540654997Definir un array con unas imágenes (Creo que con una funcion public y añadiendola a un objeto, puedo adjuntarle todas las imágenes, no?) [Array/List]
-Definir una variable A, que contenga la lista de imágenes del array. [Array/List]
-Definir una variable B que tambien contenga la lista del array. [Array/List]
-Crear un metodo que:
De la variable A, elije una imagen al azar. [Random.Range]
Esa imagen se coloca en unas coordenadas [Array/List]
Esa imagen se resta de la lista A. [Array/List]
-Crear otro metodo que:
De la variable B elija 2 imágenes al azar. [Random.Range]
Esas imágenes las coloca en otras coordenadas [Array/List]
Esas imágenes se restan de la lista B [Array/List]
[/quote]
Cuando la lista B se queda vacia se reinicia de nuevo el contenido de la lista B.
[/quote]
Por ejemplo cuando decís que querés un "array con imágenes", por "Imagen" a que te referís? a un Sprite, una Image, una RawImage, una Texture, una Texture2D ?.
Quizás para resolver muchos de los puntos te recomendaría que investigues contenedores, principalmente los array de C# y las List (de System.Collections).
Array : http://www.tutorialsteacher.com/csharp/array-csharp (http://www.tutorialsteacher.com/csharp/array-csharp)
List: http://www.tutorialsteacher.com/csharp/csharp-list (http://www.tutorialsteacher.com/csharp/csharp-list)
-> La página tiene info/ejemplos muy buenos de C# en general (además de otros lenguajes)
Para la parte aleatoria necesitas revisar la clase Random de Unity, quizás Random.Range haga el truco.
Random Range: https://docs.unity3d.com/ScriptReference/Random.Range.html (https://docs.unity3d.com/ScriptReference/Random.Range.html)
Podés hacer dos cosas:
tener dos contenedores, uno es el que vas a modificar y el otro el original (de donde vas a reponer los elementos) , los contenedores contienen referencias al gameObject o recurso, entonces jugá con ellos, por ejemplo en uno guardas el original y en el otro los vas removiendo a medida que los vas usando.
o quizás tener el original más un contenedor donde vas a ir agregando los índices disponibles (int por ej) y en base a estos índices elegís tus imagenes (típico caso de probabilidades y el bolillero con X bolillas), por ejemplo:
Tenés tu contenedor con tus (por ejemplo) 6 imágenes
Tenés una Lista de int's con los 6 índices -> { 0 , 1 , 2 , 3 , 4 , 5 }
Elegís una imagen haciendo un Random.Range a este contenedor anterior
Salió la imagen 3 y hacés lo que quieras con ella
Removés del contenedor el índice 3 -> { 0 , 1 , 2 , 4 , 5 }
Elegís una nueva imagen
Salió la imagen 2 y hacés lo que quieras con ella
Removés del contenedor el índice 3 -> { 0 , 1 , 4 , 5 }
...
Si el contenedor está vacío lo rellenás (sería el "se resetea la lista X" que pusiste)
Un truco, sí además colocás multiples valores repetidos podés incrementar la probabilidad de ocurrencia, y obviamente a la hora de remover los índices tenés que remover todos los correspondientes.
Saludos