נווט בעזרת המקשים
חלק מהיחידה יסודות התכנות ב-Unity במסלול ה-Unity של Coddy. שיעור 5 מתוך 67.
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.
אתגר
קלתן לשחקן לנווט את הקובייה: כל עוד מקש החץ ימינה מוחזק, היא נעה ימינה (לאורך +x) במהירות של speed יחידות לשנייה, וכל עוד מקש החץ שמאלה מוחזק, היא נעה שמאלה באותה מהירות. כשאף מקש לא מוחזק, היא נשארת במקום.
לחץ על Play, לחץ על המשחק ונסה להשתמש במקשי החצים, ואז לחץ על Check.
נסו בעצמכם
using UnityEngine;
public class Steering : MonoBehaviour
{
public float speed = 4f;
void Update()
{
// חץ ימינה: זוז ימינה. חץ שמאלה: זוז שמאלה.
}
}
השיעור הזה כולל חידון קצר. התחילו את השיעור כדי לענות עליו ולעקוב אחרי ההתקדמות.
כל השיעורים ביחידה יסודות התכנות ב-Unity
1הסקריפט הראשון שלך
שלום, Unityהצב את הקובייהזוז בכל פרייםהסתובב בכל שנייהנווט בעזרת המקשיםסיכום: נהג בקובייה4וקטורים
חיבור וקטוריםכיווניםמרחב מקומי ומרחב עולמימהירות אלכסוניתהמרחק בין עצמיםVector3 הוא מבנה נתוניםסיכום: הטסת רחפן10מחזור החיים של הסקריפט
Awake ו-StartUpdate ו-LateUpdateOnEnable ו-OnDisableסדר מחזור החייםסיכום: מתעד מחזור החיים