Spadające przedmioty
Lekcja 14 z 19 w kursie Gra w Unity: Brick Breaker w Coddy.
Rozbita cegła czasami upuszcza ulepszenie, które spada w kierunku paletki. To, czy je upuści, zależy od losowania: Random.value to losowa liczba zmiennoprzecinkowa z zakresu od 0 do 1, więc Random.value < 0.15f ma wartość true w około 15 przypadkach na 100. Przechowywanie szansy w polu pozwala ją dostrajać, a także ustawić ją w teście na 1, aby ulepszenie wypadało za każdym razem, albo na 0, aby nie wypadało nigdy.
To, które ulepszenie wypada, zależy od drugiego losowania: losowego indeksu tablicy prefabów. Random.Range z liczbami całkowitymi nie uwzględnia maksimum, więc Random.Range(0, array.Length) może wybrać każdy element. Łupy przeciwnika:
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);
}Ulepszenie spada ze stałą prędkością, przemieszczając się w każdej klatce, i niszczy się, gdy znajdzie się poniżej obszaru gry, dzięki czemu te, które minęły paletkę, nie gromadzą się. Jego prefab ma kinematyczny komponent Rigidbody i collider wyzwalacza, dzięki czemu system fizyki wie, że się porusza, a ulepszenie może wykryć, kiedy dotrze do paletki.
Wyzwanie
TrudnyZniszczone cegły czasami upuszczają ulepszenie.
- W
PowerUpdodajfallSpeed = 3fibottomY = -9f; wUpdate()spraw, aby obiekt spadał z prędkością fallSpeed na sekundę i był niszczony poniżej bottomY. - W
GameManagerdodajpublic GameObject[] powerUps;ipublic float dropChance = 0.15f; - W BrickBroken, jeśli
Random.value < dropChance, utwórz instancjępowerUps[Random.Range(0, powerUps.Length)]w pozycji cegły.
Naciśnij „Graj” i rozbijaj cegły: od czasu do czasu jedna upuści ulepszenie (łapanie go będzie następne). Następnie naciśnij „Sprawdź”.
Spróbuj swoich sił
using UnityEngine;
public class PowerUp : MonoBehaviour
{
// Ostatni rozdział: bonusy wypadające z rozbitych cegieł.
}
Wszystkie lekcje w sekcji Gra w Unity: Brick Breaker
4Wzmocnienia
Spadające przedmiotyPoćwicz samodzielnie: Edytor online Unity