Menu
CoddyTech

Eğer ve Değilse

Coddy'nin Unity Journey'sinin Unity'de Script Yazmanın Temelleri bölümünün bir parçası. Ders 6 / 85.

bool iki değerden birini tutar: true veya false. Kapı açık mı? Oyuncu yerde mi? Oyun bitti mi?

bool gameOver = false;

if, satırlarını yalnızca koşulu true olduğunda çalıştırır; else ise koşul true olmadığında kendi satırlarını çalıştırır. Küme parantezleri { }, her bölüme ait satırları içerir:

if (gameOver)
{
    transform.position = new Vector3(0, -2, 0);
}
else
{
    transform.position = new Vector3(0, 2, 0);
}

Bu kod, oyun bittiğinde bir nesneyi gözden kaybolacak şekilde aşağı indirir ve oyun devam ederken yukarıda tutar. Bu tür kodlar, Update() gibi bir metodun içine yazılır; sınıfın son } işaretinden sonra asla yazılmaz.

Unity de soruları bool değerleriyle yanıtlar. Input.GetKey(KeyCode.Space), oyuncu boşluk çubuğunu basılı tuttuğu sürece true, diğer zamanlarda ise false değerini verir; böylece Update() bunu her karede kontrol edebilir.

challenge icon

Görev

Kolay

Boşluk tuşuna basılı tutmak kapıyı kaldırmalı.

  1. Update() içindeki iki yorumun altına, süslü parantezleri içinde transform.position = new Vector3(0, 3, 0); olacak şekilde if (open) yaz.
  2. Ardından, süslü parantezleri içinde transform.position = new Vector3(0, 1, 0); olacak şekilde else yaz.

“Oyna” düğmesine bas, oyuna tıkla ve Boşluk tuşuna basılı tut: kapı yükselir ve tuşu bıraktığında alçalır. Ardından “Kontrol et” düğmesine bas.

Kendin dene

using UnityEngine;

public class Gate : MonoBehaviour
{
    void Update()
    {
        bool open = Input.GetKey(KeyCode.Space);

        // open true ise kapıyı (0, 3, 0) konumuna taşı.
        // Aksi takdirde onu (0, 1, 0) konumuna taşı.
    }
}

Unity'de Script Yazmanın Temelleri bölümündeki tüm dersler

Kendi başına pratik yap: Unity playground