Özet: Etkileşim Tuşu
Coddy'nin Unity Journey'sinin Unity'de Oyun Mimarisi bölümünün bir parçası. Ders 9 / 50.
Görev
KolayOyuncuya bir etkileşim tuşu verin. Oklar Player'ı yürütür (Mover.cs hazırdır) ve Space, erişim mesafesindeki kullanılabilir en yakın nesneyi kullanır. Şu bölümleri yazın:
- IInteractable: tek bir yöntemi olan bir arayüz:
void Interact(). - Door: her kullanımda açılır veya kapanır. Açılırken y ekseni etrafında 90 derece döner ve
Door openedmesajını kaydeder; kapanırken eski konumuna döner veDoor closedmesajını kaydeder. - Chest: ilk kullanımda
Found 5 coinsmesajını kaydeder (Inspector'ın ayarladığıcoinsdeğeriyle) ve sandığı boşaltır. Sonraki her kullanımdaThe chest is emptymesajını kaydeder. - Lever: her kullanımda
bridge'i (Inspector'ın ayarladığı, başlangıçta gizli bir GameObject) açar veya kapatır veLever pulledmesajını kaydeder. - Player üzerindeki Interactor: Space'e basıldığında (Input System'in
Keyboard.currentözelliğiyle okuyun),Physics.OverlapSphereilereach(1.5) mesafesindeki collider'ları bulun ve IInteractable bileşeni olanlar arasından konumu oyuncuya en yakın olanaInteract()çağrısını yapın. Erişim mesafesinde hiçbir şey yoksa hiçbir şey olmaz.
Play'e basın, etrafta yürüyüp her şeyi kullanın, ardından Check'e basın.
Kendin dene
using UnityEngine;
using UnityEngine.InputSystem;
// Space, erişim mesafesindeki en yakın nesneyi kullanır.
public class Interactor : MonoBehaviour
{
public float reach = 1.5f;
}
Unity'de Oyun Mimarisi bölümündeki tüm dersler
1Hiyerarşiler Değil, Bileşenler
Küçük BileşenlerTemel Bir Düşman BetiğiSoyut BileşenlerBirlikte Çalışan BileşenlerÖzet: Modüler Taret4Serileştirilmiş Veriler
Serileştirilebilir SınıflarInspector'da ListelerInspector'da Enum'larÖzet: Ganimet Tablosu7Durum Makineleri
Sınıflar Olarak DurumlarBir Durum MakinesiGeçişlerDüşmanların Yapay ZekâsıTekrar: Kapı Durumları10Proje: Arena Hayatta Kalma
KahramanDüşman Türleri5ScriptableObjects
Veri VarlıklarıSilah İstatistikleriPaylaşılan AyarlarVeri Olarak DalgalarTekrar: Eşya Veritabanı8Yeniden Kullanılabilir Kod
Genişletme MetotlarıGeneric SingletonGeneric YardımcılarTekrar: FindNearest