Rastgele Nesne Oluşturma
Coddy'nin Unity Journey'sinin Unity'de Script Yazmanın Temelleri bölümünün bir parçası. Ders 68 / 85.
Random.Range(min, max) rastgele bir sayı seçer ve döndürebileceği değer, ona verdiğiniz sayıların türüne bağlıdır. Float değerlerde, her iki uç değer de dahil olmak üzere min ile max arasındaki herhangi bir değer dönebilir. Int değerlerde ise max dahil değildir. Bu nedenle zar atışı için 1 ile 7 arasını isteriz:
int roll = Random.Range(1, 7); // 1, 2, 3, 4, 5 veya 6
Debug.Log("You rolled " + roll);Int sürümünde max dahil edilmez; böylece Random.Range(0, names.Length) her zaman geçerli bir dizi indeksi olur. Bu aynı zamanda, sonucu bir float içinde saklasanız bile Random.Range(-5, 5) çağrısının yalnızca -5 ile 4 arasındaki tam sayıları verdiği anlamına gelir. Aradaki herhangi bir değer için Random.Range(-5f, 5f) yazın.
3D'deki noktalar ve yönler için Unity'nin kullanıma hazır iki rastgele vektörü vardır. Random.insideUnitSphere, (0, 0, 0) etrafındaki yarıçapı 1 olan bir kürenin içindeki rastgele bir noktadır. Random.onUnitSphere ise bu kürenin yüzeyindeki rastgele bir noktadır; bu da onu uzunluğu 1 olan rastgele bir yön hâline getirir. transform.position + Random.insideUnitSphere * 2f, yukarı ve aşağı yönler de dahil olmak üzere herhangi bir yönde en fazla 2 birim uzaktaki bir noktadır.
Görev
OrtaHer tıklama, zeminin üzerindeki rastgele bir noktadan bir kasa düşürür.
- Tıklama için kullanılan
ifbloğunun içindefloat x = Random.Range(-4f, 4f);seç ve aynı şekildefloat zayarla. Instantiate(cratePrefab, new Vector3(x, 5, z), Quaternion.identity);çağrısını yap.
“Oyna” düğmesine bas ve birkaç kez tıkla: kasalar yeni noktalara düşer. Ardından “Kontrol et” düğmesine bas.
Kendin dene
using UnityEngine;
public class CrateDropper : MonoBehaviour
{
public GameObject cratePrefab;
void Update()
{
if (Input.GetMouseButtonDown(0))
{
// Rastgele bir konumdan bir kasa bırak: x ve z -4 ile 4 arasında, y = 5
}
}
}
Unity'de Script Yazmanın Temelleri bölümündeki tüm dersler
1Unity'de C# Temelleri
Merhaba, UnityDeğişkenlerOndalık Sayılar için f GerekirKonsolda MetinHatırlayan DeğişkenlerEğer ve DeğilseSayıları KarşılaştırmaTekrar: Coin Collector4Girdi
Basılı, Basılı Tutulmuş, BırakılmışEksenlerAdlandırılmış DüğmelerFare DüğmeleriTekrar: Zıplama Yükleme7Döngüler ve Metotlar
for ile tekrarlamaİç içe döngülerBir metot yazmaYanıt veren metotlarDizilerTekrar: Merdiven10Nesneleri Bulma
Ada Göre BulEtiketlerTüre Göre BulReferanslar Bulmaktan İyidirUnity'de NullÖzet: En Yakın Madeni Para13Proje: Bloklardan Kaç
KoşucuGökyüzünden Bloklar5Vektörler
Vektörleri ToplamaYönlerYerel ve Dünya UzayıÇapraz HızNesneler Arasındaki MesafeVector3 Bir Struct'tırTekrar: Drone Pilotu8GameObject'ler ve Bileşenler
Inspector'daki ReferanslarBir Bileşen AlEksik BileşenlerBileşen EkleRequireComponentGöster ve GizleÖzet: Işık Anahtarı11Prefab'ler ve Nesne Oluşturma
Prefab'ler ve InstantiateZamanlayıcıyla Nesne OluşturmaIzgarada Nesne OluşturmaNesne ListeleriEn Yeniyi Geri AlmaYok EtmeRastgele Nesne OluşturmaTekrar: Havai Fişekler3Inspector
Inspector AlanlarıSerializeFieldOndalıklı Sayılar ve MathfInspector ÖzellikleriTekrar: Asansör6Dönüşümler ve Hiyerarşi
Ebeveynler ve ÇocuklarBayrağı Göndere ÇekÖlçekNesnelere BakBir Noktaya Doğru Hareket EtTekrar: Yörüngedeki Ay9Proje: Yıldızı Yakala
YakalayıcıDüşen Bir YıldızKendi başına pratik yap: Unity playground