Menu
CoddyTech

Rekap: Keadaan Pintu

Termasuk bagian Arsitektur Game di Unity dalam perjalanan Unity di Coddy. Pelajaran 32 dari 50.

challenge icon

Tantangan

Sedang

Pintu kastel dengan kunci. Tombol panah menggerakkan Player, dan Key emas memanggil door.Unlock() saat pemain mengambilnya (keduanya sudah siap). IState dan StateMachine dari bab ini sudah ada di proyek. Door.cs memiliki nilai Inspector (closedY 1.5, openY 4, speed 2, stayOpen 2, reach 2.5), field machine dan PlayerNear(). Buat lima state untuk pintu sebagai class di DoorStates.cs dengan nama LockedState, ClosedState, OpeningState, OpenState dan ClosingState:

  • Pintu dimulai dalam keadaan Locked. Menekan Space saat berada di dekatnya (PlayerNear()) hanya mencatat Locked ke log. Unlock() mengubah pintu yang terkunci menjadi Closed dan tidak melakukan apa pun dalam state lain.
  • Closed: Menekan Space di dekat pintu akan mulai membukanya.
  • Opening: pintu naik dengan kecepatan speed hingga nilai y-nya mencapai openY, lalu masuk ke state Open.
  • Open: pintu mulai menutup setelah stayOpen detik.
  • Closing: pintu turun dengan kecepatan speed hingga nilai y-nya mencapai closedY, lalu masuk ke state Closed. Menekan Space di dekat pintu saat pintu sedang turun akan membukanya kembali dari posisinya saat itu.

Tekan Play, coba pintu yang terkunci, ambil kunci, buka pintu dan berjalanlah melewatinya, lalu tekan Periksa.

Coba sendiri

using UnityEngine;

// LockedState, ClosedState, OpeningState, OpenState, dan ClosingState

Semua pelajaran di Arsitektur Game di Unity