Menu
CoddyTech

נווטו בעזרת המקשים

חלק מהיחידה יסודות הסקריפטים ב-Unity במסלול ה-Unity של Coddy. שיעור 12 מתוך 85.

Input.GetKey(KeyCode.Space) הוא true בכל פריים כל עוד מקש הרווח לחוץ, ו־false אחרת. בדקו זאת בתוך Update(), והזיזו את האובייקט רק כשהתשובה חיובית, וכך השחקן שולט באובייקט.

הארגז הזה עולה במהירות של lift יחידות לשנייה כל עוד מקש הרווח לחוץ. Time.deltaTime שומר על המהירות לשנייה, כמו בשיעור הקודם:

public float lift = 2f;

void Update()
{
    if (Input.GetKey(KeyCode.Space))
    {
        transform.position += new Vector3(0, lift * Time.deltaTime, 0);
    }
}

לכל מקש יש KeyCode: KeyCode.UpArrow, KeyCode.W, KeyCode.Return וכן הלאה. לחצו תחילה על חלון המשחק כדי שהמקשים יגיעו אליו. הערה עבור Unity 6: פרויקטים חדשים משתמשים במערכת הקלט החדשה, ו־Input.GetKey גורם לשגיאה שם עד שמגדירים את Active Input Handling (בהגדרות הפרויקט, Player) ל־Both.

challenge icon

אתגר

קל

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

  1. ב־Update(), כל עוד Input.GetKey(KeyCode.RightArrow) הוא true, הוסף את new Vector3(speed * Time.deltaTime, 0, 0) אל transform.position.
  2. כל עוד KeyCode.LeftArrow מוחזק, החסר את אותו Vector3 באמצעות -=.

לחץ על „שחק”, לחץ על המשחק והחזק את מקשי החצים: הקובייה תחליק ימינה ושמאלה. לאחר מכן לחץ על „בדיקה”.

נסו בעצמכם

using UnityEngine;

public class Steering : MonoBehaviour
{
    public float speed = 4f;

    void Update()
    {
        // חץ ימינה: זזים ימינה. חץ שמאלה: זזים שמאלה.
    }
}

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

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