Menu
CoddyTech

סיכום: מקש האינטראקציה

חלק מהיחידה ארכיטקטורת משחקים ב-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 ושמיקומו הוא הקרוב ביותר לשחקן. אם אין שום דבר בטווח, לא קורה כלום.

לחץ על Play, הסתובב והשתמש בכל הדברים, ואז לחץ על Check.

נסו בעצמכם

using UnityEngine;
using UnityEngine.InputSystem;

// Space משתמש בדבר הקרוב ביותר שנמצא בטווח.
public class Interactor : MonoBehaviour
{
    public float reach = 1.5f;
}

כל השיעורים ביחידה ארכיטקטורת משחקים ב-Unity