Menu
CoddyTech

Platformlar Oluştur

Coddy'nin Unity Oyunu: Kule Savunması kursunda ders 7 / 25.

Oyuncu, gri inşa pedlerine tıklayarak kuleler inşa eder. Tıklama, ekrandaki bir noktadır; bu nedenle bir ışına dönüşür: Camera.main.ScreenPointToRay, kameradan o noktanın içinden geçen ışını döndürür ve Physics.Raycast, çarptığı ilk çarpıştırıcıyı, yani farenin altındakini bildirir.

Ray ray = Camera.main.ScreenPointToRay(Mouse.current.position.ReadValue());
if (Physics.Raycast(ray, out RaycastHit hit))
{
    Debug.Log("Clicked " + hit.collider.name);
}

Işın ayrıca zemine, yola ve ağaçlara da çarpar. hit.collider.TryGetComponent(out BuildPad pad), çarpılan şeyin bir ped olup olmadığını sorar; böylece diğer tıklamalar hiçbir şey yapmaz. Buradaki her sahne Input System kullanır; bu nedenle Mouse.current fareyi okur (using UnityEngine.InputSystem;).

challenge icon

Görev

Orta

Üzerine Ok kulesi inşa etmek için bir pede tıkla.

  1. BuildPad içine public Tower tower; ekle.
  2. BuildManager içine [SerializeField] private Tower towerPrefab; ekle. Update içinde, Mouse.current.leftButton.wasPressedThisFrame olduğunda fareden geçen bir ışın gönder.
  3. Işın, tower değeri null olan bir BuildPad nesnesine çarparsa pad.tower = Instantiate(towerPrefab, pad.transform.position, Quaternion.identity); olarak ayarla.

“Oyna” düğmesine bas ve pedlere tıkla: her birinin üzerinde bir kule belirir. Ardından “Kontrol et” düğmesine bas.

Kendin dene

using UnityEngine;

// Daha sonra eklenecek: kule yerleştirmek için inşa alanlarına tıklama, mağaza ve kule paneli.
public class BuildManager : MonoBehaviour
{
}

Unity Oyunu: Kule Savunması bölümündeki tüm dersler

Kendi başına pratik yap: Unity playground