Koşucu
Coddy'nin Unity Journey'sinin Unity'de Script Yazmanın Temelleri bölümünün bir parçası. Ders 60 / 67.
Bu bölüm, Bloklardan Kaç adlı küçük bir oyun oluşturuyor. Bloklar gökyüzünden düşerken bir koşucuyu şerit boyunca yönlendirirsin; tek bir dokunuş koşuyu bitirir. Oyunun tamamı, her derste bir özellik kazanan tek bir betikten, Runner'dan oluşur: yönlendirme, düşen bloklar, onları temizleme, çarpışma ve puan.
İlk özellik, Catch the Star'dan Mathf.Clamp(value, min, max) kullanarak şeritte kalmayı sağlayan yönlendirmedir: değer aralığın altındaysa min, üstündeyse max, aksi hâlde değerin kendisini döndürür. Clamp işleminin nerede yapıldığı önemlidir. Bu şarj göstergesi Space basılı tutulurken dolar, basılı tutulmadığında boşalır ve 0 ile 10 aralığının dışına asla çıkmaz:
[SerializeField] private float charge = 0f;
void Update()
{
if (Input.GetKey(KeyCode.Space))
{
charge += 4f * Time.deltaTime;
}
else
{
charge -= 2f * Time.deltaTime;
}
charge = Mathf.Clamp(charge, 0f, 10f);
transform.localScale = new Vector3(0.5f, charge, 0.5f);
}Clamp işlemi değişiklikten sonra gelir. Önce clamp uygulanırsa değer, kareyi sınırın bir adım ötesinde bitirebilir ve çubuk bu değere göre çizilir. Mathf.Clamp ayrıca, kendisine verdiğin değişkeni değiştirmek yerine yeni bir sayı döndürür; bu nedenle sonucu değişkene geri atamalısın.
Görev
OrtaDodge the Blocks oyununa koşucu ile başla. Inspector, Runner betiğine speed (6) ve laneEdge (4) değerlerini verir.
- Sol ve sağ oklar, koşucuyu x ekseni boyunca saniyede
speedbirim hareket ettirir. - x değeri hiçbir zaman
-laneEdgedeğerinin altına veyalaneEdgedeğerinin üstüne çıkmaz; böylece koşucu şeritte kalır.
Play'e bas, oyuna tıkla ve şeridin iki ucuna da koş, ardından Check'e bas.
Kendin dene
using UnityEngine;
public class Runner : MonoBehaviour
{
[SerializeField] private float speed = 6f;
[SerializeField] private float laneEdge = 4f;
void Update()
{
// Ok tuşlarıyla x ekseni boyunca hareket et, ardından x'i şeritte tut
}
}
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ı