Menu
CoddyTech

מצב הכוננות

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

challenge icon

אתגר

בינוני

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

  1. ב־TurretStates.cs, כתבו את AlertState, עם הראש והשחקן. ב־Enter: הראש Color.red, תעדו Intruder!. ב־Tick: הפנו אותו אל השחקן סביב ציר y. ב־Exit: תעדו All clear.
  2. ב־Turret, כתבו את SetState(IState next): קודם Exit של המצב הישן, ואז Enter של החדש.
  3. ב־Update, התריעו כשהמרחק בתוך range, סרקו אחרת, ואז הפעילו Tick למצב הנוכחי.

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

נסו בעצמכם

using UnityEngine;

public class ScanState : IState
{
    private Transform head;
    private float angle;
    private float direction = 1f;

    public ScanState(Transform head)
    {
        this.head = head;
    }

    public void Enter()
    {
        angle = 0f;
        direction = 1f;
        head.GetComponent<Renderer>().material.color = Color.green;
    }

    public void Tick()
    {
        angle += 90f * direction * Time.deltaTime;
        if (angle > 45f)
        {
            angle = 45f;
            direction = -1f;
        }
        if (angle < -45f)
        {
            angle = -45f;
            direction = 1f;
        }
        head.localRotation = Quaternion.Euler(0f, angle, 0f);
    }

    public void Exit()
    {
    }
}

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

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