Rastgele Nesne Oluşturma
Coddy'nin Unity Journey'sinin Unity'de Script Yazmanın Temelleri bölümünün bir parçası. Ders 53 / 67.
Random.Range(min, max) rastgele bir sayı seçer ve döndürebileceği değer, verdiğin sayıların türüne bağlıdır. Float değerlerde min ile max arasındaki tüm değerler, her iki uç da dahil olmak üzere döndürülebilir. Int değerlerde ise max değeri dahil edilmez. Bu nedenle zar atışı için 1 ile 7 arasını istemen gerekir:
int roll = Random.Range(1, 7); // 1, 2, 3, 4, 5 veya 6
Debug.Log("You rolled " + roll);Int sürümü max değerini dahil etmez; böylece Random.Range(0, names.Length) her zaman geçerli bir dizi indeksi olur. Bu aynı zamanda sonucu bir float değişkeninde saklasan bile Random.Range(-5, 5) ifadesinin 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.
3D'deki konumlar ve yönler için Unity'nin kullanıma hazır iki rastgele vektörü vardır. Random.insideUnitSphere, (0, 0, 0) etrafında 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 uzaklıktaki bir konumdur.
Görev
OrtaHer tıklama, zeminin üzerindeki rastgele bir noktadan bir kasa düşürmeli:
- x ve z: her biri yalnızca tam sayılar değil, -4 ile 4 arasında herhangi bir değer olabilir;
- y: 5, böylece kasa zemine düşer;
- döndürme yok.
Play düğmesine basıp birkaç kez tıklayın, ardından Check düğmesine basın.
Kendin dene
using UnityEngine;
public class CrateDropper : MonoBehaviour
{
public GameObject cratePrefab;
void Update()
{
if (Input.GetMouseButtonDown(0))
{
// Rastgele bir konumdan bir sandık bırak: x ve z -4 ile 4 arasında, y = 5
}
}
}
Bu ders kısa bir quiz içerir. Soruları yanıtlamak ve ilerlemeni kaydetmek için derse başla.
Unity'de Script Yazmanın Temelleri bölümündeki tüm dersler
1İlk Betiğiniz
Merhaba, UnityKüpü YerleştirHer Karede Hareket EtHer Saniye DönTuşlarla Yön VerÖzet: Küpü Sür4Vektörler
Vektörleri ToplamaYönlerYerel ve Dünya UzayıÇapraz HızNesneler Arasındaki MesafeVector3 Bir YapıdırÖzet: Drone Pilotu7Proje: Yıldızı Yakala
YakalayıcıDüşen Bir Yıldız5Dönüşümler ve Hiyerarşi
Ebeveynler ve ÇocuklarÖlçekNesnelere BakışBir Noktaya Doğru HareketTekrar: Yörüngedeki Ay6GameObject'ler ve Bileşenler
Inspector'daki ReferanslarBir Bileşen AlEksik BileşenlerBir Bileşen EkleRequireComponentGöster ve GizleÖzet: Işık Anahtarı9Prefab'ler ve Nesne Oluşturma
Prefab'ler ve InstantiateZamanlayıcıyla Nesne OluşturmaIzgarada Nesne OluşturmaNesne ListeleriYok EtmeRastgele Nesne OluşturmaÖzet: Havai Fişekler