סיכום: מקש האינטראקציה
חלק מהיחידה ארכיטקטורת משחקים ב-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 ושמיקומו הוא הקרוב ביותר לשחקן. אם אין שום דבר בטווח, לא קורה כלום.
לחץ על Play, הסתובב והשתמש בכל הדברים, ואז לחץ על Check.
נסו בעצמכם
using UnityEngine;
using UnityEngine.InputSystem;
// Space משתמש בדבר הקרוב ביותר שנמצא בטווח.
public class Interactor : MonoBehaviour
{
public float reach = 1.5f;
}
כל השיעורים ביחידה ארכיטקטורת משחקים ב-Unity
1רכיבים, לא היררכיות
רכיבים קטניםסקריפט בסיס לאויברכיבים מופשטיםרכיבים שעובדים יחדסיכום: צריח מודולרי