Hola como estan? Como puedo definir el tamaño de una array desde el codigo, supongamos que tengo un array GameObject:
public GameObject[] objeto;
[/quote]
En el inspector me va a mostrar el array y al ingresar el tamaño de elementos estos se van a crear pero como puedo hacer para definir el tamaño del array desde adentro del script?
Espero que se entienda mi duda, Saludos!
public GameObject[] objeto = new GameObject[10];
[/quote]
El problema es la serialización, que puede que te lo inicialize a 0.
Frente a esto creo que lo mejor seria Unit***itor, implementar ReorderableList o bien armar algo con ObjectField.
Cita de: francoe1 date=1499364932public GameObject[] objeto = new GameObject[10];
El problema es la serialización, que puede que te lo inicialize a 0.
Frente a esto creo que lo mejor seria Unit***itor, implementar ReorderableList o bien armar algo con ObjectField.
Impecable! Si busco que empiece de 0, muchas gracias
Hola @Nico480 Para asignar un tamaño definido a un array es tan simple como asignarle el valor definido con un "
new"...
Pero ojo... Si queres un array estricto de pi a pa que no sea libre, podes usar una variable tipo
static para reforsar tu restriccion y no un public.
Te dejo un ejemplo de las diferencias:
using UnityEngine;
using System.Collections;
public class Test_Array : MonoBehaviour {
public int[] arrayPublic = new int[2]; // Asigna 2 elementos.
static int[] arrayStatic = new int[2]; // Asigna 2 elementos.
// Antes de darle Play, compila y en el inspector establece un Size 3 a arrayPublic.
void Start()
{
// Esto intenta darle valor al elemento 3 del array public y static.
// Acordate que en programacion iniciamos conteos desde 0 y no desde 1.
// 2 es el tercer elemento |0|1|2|.
arrayPublic[2] = 3; // Idle
arrayStatic[2] = 3; // Error
}
void Update() {
// Intenta mostrar Elemento 3
Debug.Log(arrayPublic[2]); // Idle
Debug.Log(arrayStatic[2]); // Error
}
}
Como podes ver establecimos un valor x a public pero termino siendo otro numero, encambio static no
Cita de: Nico480 date=1499361602Como puedo definir el tamaño de una array desde el codigo
GameObject[] array = new GameObject[*numero*];
Si lo vas a hacer desde el codigo tiene sentido que no sea public (ej queres una grilla de 32x32, ya sabes las dimensiones), si lo haces public para tenerlo en el inspector la ventaja que tenes es que vos elegis el tamaño (Ej queres meter puntos de control espaciales para que un enmigo patruye, q se yo)
@lightbug Que raro el resumiendo todas mis explicaciones JAJAJA teamo light!
Cita de: enelmenu date=1499396972@lightbug Que raro el resumiendo todas mis explicaciones JAJAJA teamo light!
Jaj generalmente no leo nada de lo que haya arriba, solo el primer post y luego respondo
Esta duda es muy básica y no dependiente de Unity para nada. Por favor, sed consecuentes con el Tema, o empezaré a capar Posts de nivel Beginner....