נווטו בעזרת המקשים
חלק מהיחידה יסודות הסקריפטים ב-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.
אתגר
קלתן לשחקן לנווט את הקובייה באמצעות מקשי החצים.
- ב־
Update(), כל עודInput.GetKey(KeyCode.RightArrow)הוא true, הוסף אתnew Vector3(speed * Time.deltaTime, 0, 0)אלtransform.position. - כל עוד
KeyCode.LeftArrowמוחזק, החסר את אותוVector3באמצעות-=.
לחץ על „שחק”, לחץ על המשחק והחזק את מקשי החצים: הקובייה תחליק ימינה ושמאלה. לאחר מכן לחץ על „בדיקה”.
נסו בעצמכם
using UnityEngine;
public class Steering : MonoBehaviour
{
public float speed = 4f;
void Update()
{
// חץ ימינה: זזים ימינה. חץ שמאלה: זזים שמאלה.
}
}
כל השיעורים ביחידה יסודות הסקריפטים ב-Unity
1יסודות C# ב-Unity
שלום, Unityמשתניםמספרים עשרוניים צריכים fטקסט ב-Consoleמשתנים ששומרים ערכיםאם ואחרתהשוואת מספריםחזרה: אוסף המטבעות5וקטורים
חיבור וקטוריםכיווניםמרחב מקומי ומרחב עולמימהירות אלכסוניתהמרחק בין עצמיםVector3 הוא מבנה נתוניםסיכום: הטסת רחפן8אובייקטי משחק ורכיבים
הפניות ב-Inspectorקבלת רכיברכיבים חסריםהוספת רכיבRequireComponentהצגה והסתרהחזרה: מתג תאורה6טרנספורמציות והיררכיה
הורים וילדיםלהניף את הדגלקנה מידהלהסתכל על דבריםלנוע לעבר נקודהסיכום: הירח המקיף12מחזור החיים של הסקריפט
Awake ו-StartUpdate ו-LateUpdateOnEnable ו-OnDisableסדר מחזור החייםסיכום: יומן מחזור החייםתרגלו בעצמכם: Unity אונליין