Unity 3d En Español
¿Quieres reaccionar a este mensaje? Regístrate en el foro con unos pocos clics o inicia sesión para continuar.

Un Foro De Ayuda Para Los que Trabajan Con Unity 3d Y Hablan Español


No estás conectado. Conéctate o registrate

Como hago que un script active varios prefabs :(

2 participantes

Ir abajo  Mensaje [Página 1 de 1.]

Evey92



Hola, buenas noches.
Soy un completo novato en lo que corresponde a programación así que me disculpo por adelantado si mi pregunta es muy tonta y la respuesta algo muy simple.
Ok. Algo de contexto: estoy haciendo un juego que es un tanque de agua pequeño en el que hay anillos que empujas con unas burbujas y tienes que hacer que caigan en unos postes y mi problema es el siguiente:

Tengo un script dentro de un gameobject vacío que a su vez esta en un cubo para poder ver donde esta. Esto es parte del código:
                       if (Input.GetKeyDown (KeyCode.Space)) {
GameObject bubbleClone;

bubbleClone = Instantiate (bubble, transform.position, transform.rotation) as GameObject;
float bubbleScale = Random.Range (0.3f, 0.5f);
bubbleClone.transform.localScale = new Vector3 (bubbleScale, bubbleScale, bubbleScale);
float yCompForce = Random.Range (1.0f, 1.5f);
float xCompForce = 1.5f - yCompForce;
bubbleClone.rigidbody.AddForce (new Vector3 (xCompForce * 300, yCompForce * 300, 0));

}
Esto hace que cada vez que presiono la barra espaciadora salen muchas burbujas que avientas los anillos hacia arriba. Esto funciona de maravilla, PERO el problema es que como lo estoy programando para android, necesito que este código se active al apretar un botón en la pantalla. Para esto, intente usar los nuevos gameobjects de interfaz que trae unity 4.6 pero el problema es que no solo tengo un cubo con el script sino que son como 30 y cuando pongo el objeto del cubo en el evento onClick solo activa ese cubo en vez de todos.
Ahora, una solución a esto sería hacer un evento OnClick para cada cubo, pero son 30... Estoy seguro que hay una forma mas sencilla de hacerlo pero entre el estrés y mi ignorancia la verdad no se me ocurre que. Alguien tiene alguna recomendación? de verdad necesito ayuda llevo rato quebrando me la cabeza en esto y nomas no.

Muchas gracias por adelantado!!

2Como hago que un script active varios prefabs :( Empty Mucha ayuda. Vie Mar 13, 2015 1:37 pm

Evey92



Pues gracias.

farenhai



Hola, soy nuevo y veo que el mensaje tiene ya algún tiempo.

Imagino que lo habrás resuelto ya, pero por si acaso...

¿Has probado con un "for loop" + Instantiate dentro del loop?
[Dentro de la función onClick que hayas programado]


int i;
for (i=0; i <numeroDeBurbujas; i++)
{
Instantiate...blah,blah,blah (y le das una posicion con Random.Range para que te de ubicaciones aleatorias dentro de ese rango.
}

El problemita que te encontrarás con eso, será que los objetos se atravesarán, y me imagino que visualmente no te interesa...

Afortunadamente, la solución es fácil: crea otro script que al penetrar el collider DESTRUYA el otro objeto instanciado...

y listo. Eso debería funcionar, creo.

Contenido patrocinado



Volver arriba  Mensaje [Página 1 de 1.]

Permisos de este foro:
No puedes responder a temas en este foro.