Menu
CoddyTech

סיכום: מצבי הדלת

חלק מהיחידה ארכיטקטורת משחקים ב-Unity במסלול ה-Unity של Coddy. שיעור 41 מתוך 64.

בפרק הזה הוקצתה לכל מצב מחלקה משלו, הפעלנו את כולם בעזרת StateMachine אחד, ואפשרנו לכל מצב להחליט בעצמו איך לצאת ממנו. הדלת משלבת את שלושת הדברים.

challenge icon

אתגר

בינוני

מלאו את חמשת המצבים של דלת הטירה ב־DoorStates.cs; ב־Door.cs נמצאות פונקציות העזר.

  1. נעולה: door.PressedNear() מציגה ביומן את Locked. Door.Unlock() מעבירה דלת נעולה למצב closed.
  2. סגורה: PressedNear() מעבירה למצב opening. נפתחת: ברגע ש־door.SlideTo(door.openY) מחזירה true, עוברת למצב open.
  3. פתוחה: לאחר door.stayOpen שניות, עוברת למצב closing.
  4. נסגרת: PressedNear() פותחת שוב; אחרת, ברגע ש־SlideTo(door.closedY) מחזירה true, עוברת למצב closed.

לחצו על „שחק”, אספו את המפתח ופתחו את הדלת. לאחר מכן לחצו על „בדיקה”.

נסו בעצמכם

using UnityEngine;

public class LockedState : IState
{
    private Door door;

    public LockedState(Door door)
    {
        this.door = door;
    }

    public void Enter()
    {
    }

    public void Tick()
    {
    }

    public void Exit()
    {
    }
}

public class ClosedState : IState
{
    private Door door;

    public ClosedState(Door door)
    {
        this.door = door;
    }

    public void Enter()
    {
    }

    public void Tick()
    {
    }

    public void Exit()
    {
    }
}

public class OpeningState : IState
{
    private Door door;

    public OpeningState(Door door)
    {
        this.door = door;
    }

    public void Enter()
    {
    }

    public void Tick()
    {
    }

    public void Exit()
    {
    }
}

public class OpenState : IState
{
    private Door door;

    public OpenState(Door door)
    {
        this.door = door;
    }

    public void Enter()
    {
    }

    public void Tick()
    {
    }

    public void Exit()
    {
    }
}

public class ClosingState : IState
{
    private Door door;

    public ClosingState(Door door)
    {
        this.door = door;
    }

    public void Enter()
    {
    }

    public void Tick()
    {
    }

    public void Exit()
    {
    }
}
quiz iconבחנו את עצמכם

השיעור הזה כולל חידון קצר. התחילו את השיעור כדי לענות עליו ולעקוב אחרי ההתקדמות.

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

תרגלו בעצמכם: Unity אונליין