Menu
CoddyTech

Tekrar: Kapı Durumları

Coddy'nin Unity Journey'sinin Unity'de Oyun Mimarisi bölümünün bir parçası. Ders 32 / 50.

challenge icon

Görev

Orta

Kilitli bir kale kapısı. Oklar Player karakterini hareket ettirir ve altın Key, oyuncu onu aldığında door.Unlock() çağrısı yapar (ikisi de hazır). IState ve bölümdeki StateMachine projede mevcut. Door.cs dosyasında Inspector değerleri (closedY 1.5, openY 4, speed 2, stayOpen 2, reach 2.5), bir machine alanı ve PlayerNear() bulunur. Kapıya, DoorStates.cs dosyasında sınıflar olarak tanımlanmış şu beş durumu ver:

  • Kapı Kilitli başlar. Yakınındayken Boşluk tuşuna basılması (PlayerNear()) yalnızca Locked mesajını günlüğe kaydeder. Unlock(), kilitli kapıyı Kapalı duruma getirir ve diğer durumlarda hiçbir şey yapmaz.
  • Kapalı: Kapının yakınındayken Boşluk tuşuna basmak kapının açılmasını başlatır.
  • Açılıyor: Kapı, y değeri openY olana kadar speed hızında yükselir; ardından Açık duruma geçer.
  • Açık: stayOpen saniye sonra kapanmaya başlar.
  • Kapanıyor: Kapı, y değeri closedY olana kadar speed hızında alçalır; ardından Kapalı duruma geçer. Aşağı inerken yakınındayken Boşluk tuşuna basılırsa, bulunduğu konumdan yeniden açılır.

Play'e bas, kilitli kapıyı dene, anahtarı al, kapıyı açıp içinden geç, ardından Check'e bas.

Kendin dene

using UnityEngine;

// LockedState, ClosedState, OpeningState, OpenState ve ClosingState

Unity'de Oyun Mimarisi bölümündeki tüm dersler