مراجعة: مفتاح التفاعل
جزء من قسم هندسة الألعاب في Unity في رحلة Unity على Coddy. الدرس 9 من 50.
التحدي
سهلامنح اللاعب مفتاحًا للتفاعل. تحرّك الأسهم اللاعب (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
1المكوّنات لا التسلسلات الهرمية
مكوّنات صغيرةسكربت أساسي للعدومكوّنات مجرّدةتعمل المكوّنات معًامراجعة: برج دفاعي معياري4البيانات المتسلسلة
الأصناف القابلة للتسلسلالقوائم في Inspectorالتعدادات في Inspectorمراجعة: جدول الغنائم10مشروع: الناجي في الساحة
البطلأنواع الأعداء