Düşenler
Coddy'nin Unity Oyunu: Tuğla Kırma kursunda ders 14 / 19.
Kırık bir tuğla bazen rakete doğru düşen bir güçlendirme bırakır. Bırakıp bırakmaması bir rastgele seçimdir: Random.value, 0 ile 1 arasında rastgele bir kayan noktalı sayıdır; bu yüzden Random.value < 0.15f koşulu 100 denemede yaklaşık 15 kez doğru olur. Olasılığı bir alanda tutmak, bu değeri ayarlamanı ve bir testte her seferinde bırakması için 1'e ya da hiç bırakmaması için 0'a ayarlamanı sağlar.
Hangi güçlendirmenin düşeceği ikinci bir rastgele seçimdir: prefab dizisinden rastgele bir indeks seçilir. Tamsayılarla kullanılan Random.Range üst sınırı dahil etmez; bu nedenle Random.Range(0, array.Length) dizideki her öğeyi seçebilir. Bir düşmanın ganimeti:
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);
}Bir güçlendirme, her karede kendisini hareket ettirerek sabit bir hızla düşer ve oyun alanının altına indiğinde kendini yok eder; böylece kaçırılanlar birikmez. Prefab'ında kinematik bir Rigidbody ve bir tetikleyici çarpıştırıcı bulunur; böylece fizik sistemi hareket ettiğini bilir ve rakete ulaştığında bunu algılayabilir.
Görev
ZorKırılan tuğlalar bazen bir güçlendirici düşürür.
PowerUpiçindefallSpeed = 3fvebottomY = -9fekle;Update()içinde saniyede fallSpeed hızında düşmesini ve bottomY değerinin altında yok edilmesini sağla.GameManageriçinepublic GameObject[] powerUps;vepublic float dropChance = 0.15f;ekle.- BrickBroken içinde,
Random.value < dropChancekoşulu sağlanıyorsapowerUps[Random.Range(0, powerUps.Length)]nesnesini tuğlanın konumunda oluştur.
“Oyna” düğmesine bas ve tuğlaları kır: ara sıra bir güçlendirici düşer (yakalamayı bir sonraki adımda yapacağız). Ardından “Kontrol et” düğmesine bas.
Kendin dene
using UnityEngine;
public class PowerUp : MonoBehaviour
{
// Son bölüm: kırılan tuğlalardan düşen güçlendirmeler.
}
Unity Oyunu: Tuğla Kırma bölümündeki tüm dersler
Kendi başına pratik yap: Unity playground