Menu
CoddyTech

بناء المنصات

الدرس 7 من 25 في دورة لعبة Unity: الدفاع عن الأبراج على Coddy.

يبني اللاعب الأبراج بالنقر على منصات البناء الرمادية. والنقرة هي نقطة على الشاشة، لذا تتحول إلى شعاع: يعيد Camera.main.ScreenPointToRay الشعاع الممتد من الكاميرا عبر تلك النقطة، وتُبلغ Physics.Raycast عن أول مُصادم يصطدم به، وهو الموجود أسفل مؤشر الفأرة.

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

يصطدم الشعاع أيضًا بالأرض والمسار والأشجار. يتحقق hit.collider.TryGetComponent(out BuildPad pad) مما إذا كان العنصر الذي اصطدم به منصةً، لذا لا تفعل النقرات الأخرى شيئًا. تستخدم كل مشاهد هذا الدرس نظام الإدخال، لذا تقرأ Mouse.current بيانات الفأرة (using UnityEngine.InputSystem;).

challenge icon

التحدي

متوسط

انقر على منصة لبناء برج السهم عليها.

  1. في BuildPad، أضف public Tower tower;.
  2. في BuildManager، أضف [SerializeField] private Tower towerPrefab;. في Update، عند Mouse.current.leftButton.wasPressedThisFrame، أطلق شعاعًا عبر موضع الفأرة.
  3. إذا أصاب الشعاع BuildPad وكان tower فيها يساوي null، فعيّن pad.tower = Instantiate(towerPrefab, pad.transform.position, Quaternion.identity);.

اضغط «العب» وانقر على المنصات: سيقف برج على كل منها. ثم اضغط «تحقق».

جرّب بنفسك

using UnityEngine;

// يأتي لاحقًا: النقر على قواعد البناء لوضع الأبراج، والمتجر ولوحة الأبراج.
public class BuildManager : MonoBehaviour
{
}

جميع دروس لعبة Unity: الدفاع عن الأبراج

تدرّب بنفسك: Playground لـ Unity