Menu
CoddyTech
flag Ar iconالعربيةdown icon

مراجعة: مفتاح التفاعل

جزء من قسم هندسة الألعاب في Unity في رحلة Unity على Coddy. الدرس 9 من 50.

challenge icon

التحدي

سهل

امنح اللاعب مفتاحًا للتفاعل. تحرّك الأسهم اللاعب (Mover.cs، جاهز)، ويستخدم مفتاح المسافة أقرب شيء يمكن استخدامه ضمن مدى الوصول. اكتب الأجزاء:

  • IInteractable: واجهة تحتوي على طريقة واحدة، void Interact().
  • Door: يفتحها كل استخدام أو يغلقها. يؤدي الفتح إلى تدويرها 90 درجة حول المحور y ويسجل Door opened؛ أما الإغلاق فيعيدها إلى وضعها السابق ويسجل Door closed.
  • Chest: يسجل الاستخدام الأول Found 5 coins (قيمة coins التي يضبطها Inspector) ويفرغها. يسجل كل استخدام لاحق The chest is empty.
  • Lever: يبدّل كل استخدام حالة bridge (وهو GameObject يضبطه Inspector، ويكون مخفيًا عند البداية) بين التشغيل والإيقاف، ويسجل Lever pulled.
  • Interactor على اللاعب: عند الضغط على مفتاح المسافة (اقرأه باستخدام Keyboard.current من Input System)، اعثر على الأجسام المصادمة ضمن reach (1.5) باستخدام Physics.OverlapSphere، واستدعِ Interact() على الجسم الذي لديه IInteractable ويكون موضعه الأقرب إلى اللاعب. إذا لم يوجد شيء ضمن مدى الوصول، فلن يحدث شيء.

اضغط تشغيل، وتجول واستخدم كل شيء، ثم اضغط تحقق.

جرّب بنفسك

using UnityEngine;
using UnityEngine.InputSystem;

// يستخدم Space أقرب شيء ضمن نطاق الوصول.
public class Interactor : MonoBehaviour
{
    public float reach = 1.5f;
}

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