Caídas
Lección 13 de 16 del curso Juego en Unity: Rompebloques de Coddy.
A veces, un ladrillo roto suelta una mejora que cae hacia la paleta. Que la suelte depende de una tirada: Random.value es un número de punto flotante aleatorio entre 0 y 1, así que Random.value < 0.15f es verdadero aproximadamente 15 veces de cada 100. Mantener la probabilidad en un campo te permite ajustarla y también permite que una prueba la establezca en 1 para que siempre haya una caída o en 0 para que no haya ninguna.
Qué mejora cae se decide con una segunda tirada: un índice aleatorio en un arreglo de prefabs. Random.Range con enteros excluye el valor máximo, así que Random.Range(0, array.Length) puede elegir cualquier elemento. El botín de un enemigo:
public GameObject[] loot;
public float lootChance = 0.25f;
void DropLoot()
{
if (Random.value >= lootChance) return;
int pick = Random.Range(0, loot.Length);
Instantiate(loot[pick], transform.position, Quaternion.identity);
}Una mejora cae a velocidad constante al moverse por sí misma en cada fotograma, y se destruye cuando queda por debajo del área de juego, para que las que no se recogen no se acumulen. Su prefab tiene un Rigidbody cinemático y un collider de activación, por lo que el sistema de física sabe que se mueve y podrá detectar cuándo llega a la paleta.
Desafío
Difícil- En
PowerUp, añadepublic float fallSpeed = 3fypublic float bottomY = -9f. EnUpdate(), muévelo hacia abajo afallSpeedunidades por segundo y destruye el potenciador cuando su coordenada y esté por debajo debottomY. - En
GameManager, añadepublic GameObject[] powerUps(la escena vincula los prefabs WidePowerUp y MultiPowerUp) ypublic float dropChance = 0.15f. - En
BrickBroken, con una probabilidad dedropChance, genera uno al azar depowerUpsen el lugar donde estaba el ladrillo.
Por ahora, los potenciadores atraviesan la paleta: atraparlos viene después.
Pulsa Play, rompe ladrillos hasta que caiga uno y después pulsa Check.
Pruébalo tú mismo
using UnityEngine;
public class PowerUp : MonoBehaviour
{
// El último capítulo: mejoras que caen de los ladrillos rotos.
}
Esta lección incluye un breve cuestionario. Empieza la lección para responderlo y registrar tu progreso.