Item Jatuh
Pelajaran 13 dari 16 dalam kursus Game Unity: Brick Breaker di Coddy.
Batu bata yang hancur terkadang menjatuhkan power-up yang jatuh ke arah paddle. Apakah power-up itu dijatuhkan ditentukan lewat pengundian: Random.value adalah float acak dari 0 sampai 1, jadi Random.value < 0.15f bernilai true sekitar 15 kali dari 100. Menyimpan peluangnya di field memungkinkan kamu menyesuaikannya, dan memungkinkan sebuah tes mengaturnya ke 1 agar selalu menjatuhkan power-up atau ke 0 agar tidak pernah menjatuhkannya.
Power-up mana yang dijatuhkan ditentukan lewat pengundian kedua: memilih indeks acak dalam array prefab. Random.Range dengan int tidak menyertakan nilai maksimumnya, jadi Random.Range(0, array.Length) bisa memilih setiap elemen. Loot musuh:
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);
}Power-up jatuh dengan kecepatan tetap dengan menggerakkan dirinya sendiri setiap frame, lalu menghancurkan dirinya sendiri begitu berada di bawah area permainan, sehingga power-up yang terlewat tidak menumpuk. Prefab-nya memiliki Rigidbody kinematik dan collider pemicu, sehingga physics mengetahui bahwa benda itu bergerak dan benda itu dapat mengetahui saat mencapai paddle.
Tantangan
Sulit- Di
PowerUp, tambahkanpublic float fallSpeed = 3fdanpublic float bottomY = -9f. DiUpdate(), gerakkan power-up ke bawah dengan kecepatanfallSpeedunit per detik, lalu hancurkan power-up setelah posisi y-nya berada di bawahbottomY. - Di
GameManager, tambahkanpublic GameObject[] powerUps(scene menghubungkan prefab WidePowerUp dan MultiPowerUp) danpublic float dropChance = 0.15f. - Di
BrickBroken, dengan peluang sebesardropChance, buat salah satupowerUpssecara acak di lokasi batu bata tersebut.
Untuk saat ini, power-up jatuh menembus paddle. Berikutnya, kamu akan membuat paddle menangkapnya.
Tekan Mainkan, hancurkan batu bata sampai salah satunya menjatuhkan power-up, lalu tekan Periksa.
Coba sendiri
using UnityEngine;
public class PowerUp : MonoBehaviour
{
// Bab terakhir: power-up yang jatuh dari batu bata yang hancur.
}
Pelajaran ini berisi kuis singkat. Mulai pelajarannya untuk menjawab kuis dan melacak progresmu.