Menu
CoddyTech

Ö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.

challenge icon

Görev

Kolay

Oyuncuya 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 opened mesajını kaydeder; kapanırken eski konumuna döner ve Door closed mesajını kaydeder.
  • Chest: ilk kullanımda Found 5 coins mesajını kaydeder (Inspector'ın ayarladığı coins değeriyle) ve sandığı boşaltır. Sonraki her kullanımda The chest is empty mesajını kaydeder.
  • Lever: her kullanımda bridge'i (Inspector'ın ayarladığı, başlangıçta gizli bir GameObject) açar veya kapatır ve Lever pulled mesajını kaydeder.
  • Player üzerindeki Interactor: Space'e basıldığında (Input System'in Keyboard.current özelliğiyle okuyun), Physics.OverlapSphere ile reach (1.5) mesafesindeki collider'ları bulun ve IInteractable bileşeni olanlar arasından konumu oyuncuya en yakın olana Interact() ç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