Menu
CoddyTech

נווט

שיעור 2 מתוך 14 בקורס משחק Unity: נחש תלת־ממדי של Coddy.

הנחש פונה באמצעות מקשי החצים או WASD. המצלמה מביטה בלוח מלפנים, מהקצה הקדמי, לכן הכיוון כלפי מעלה במסך הוא לאורך +z, Vector3.forward, והכיוון כלפי מטה הוא Vector3.back. Vector3.up מצביע אל השמיים: ראש שיזוז באמצעותו יעלה מעל הלוח.

פנייה מתרחשת פעם אחת בכל לחיצה, לכן קוראים את המקשים באמצעות wasPressedThisFrame. הלחיצה משנה רק את direction; Step() עדיין מזיזה את הראש, בפעימה הבאה:

Keyboard keyboard = Keyboard.current;
if (keyboard != null && keyboard.dKey.wasPressedThisFrame)
{
    direction = Vector3.right;
}

החץ והאות הם שני מקשים, שמחוברים באמצעות ||. Keyboard.current הוא null במכשיר ללא מקלדת, לכן בודקים אותו פעם אחת בתחילת הקוד.

challenge icon

אתגר

קל

נווטו את הנחש באמצעות מקשי החצים או WASD.

  1. הוסיפו את using UnityEngine.InputSystem; אל Snake.
  2. בתחילת Update(), קראו את Keyboard.current: לחיצה על החץ למעלה או על W קובעת את direction = Vector3.forward, לחיצה על החץ למטה או על S קובעת את Vector3.back, לחיצה על החץ שמאלה או על A קובעת את Vector3.left, ולחיצה על החץ ימינה או על D קובעת את Vector3.right.
  3. השאירו את Step() כפי שהוא: הראש פונה בצעד הבא.

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

נסו בעצמכם

using UnityEngine;

public class Snake : MonoBehaviour
{
    public float tick = 0.15f;   // שניות בין שני צעדים
    private float timer;
    private Vector3 direction = Vector3.right;

    void Update()
    {
        timer += Time.deltaTime;
        if (timer >= tick)
        {
            timer -= tick;
            Step();
        }
    }

    void Step()
    {
        transform.position += direction;
    }
}

כל השיעורים ביחידה משחק Unity: נחש תלת־ממדי

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