Menu
CoddyTech

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.

challenge icon

Tantangan

Sulit
  1. Di PowerUp, tambahkan public float fallSpeed = 3f dan public float bottomY = -9f. Di Update(), gerakkan power-up ke bawah dengan kecepatan fallSpeed unit per detik, lalu hancurkan power-up setelah posisi y-nya berada di bawah bottomY.
  2. Di GameManager, tambahkan public GameObject[] powerUps (scene menghubungkan prefab WidePowerUp dan MultiPowerUp) dan public float dropChance = 0.15f.
  3. Di BrickBroken, dengan peluang sebesar dropChance, buat salah satu powerUps secara 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.
}
quiz iconUji dirimu

Pelajaran ini berisi kuis singkat. Mulai pelajarannya untuk menjawab kuis dan melacak progresmu.

Semua pelajaran di Game Unity: Brick Breaker