כפתורים בעלי שם
חלק מהיחידה יסודות הסקריפטים ב-Unity במסלול ה-Unity של Coddy. שיעור 21 מתוך 85.
מלבד מקשים, יש ב-Unity גם לחצנים: שמות שמופיעים במנהל הקלט (Edit, Project Settings, Input Manager), וכל אחד מהם משויך למקש אחד או יותר. Input.GetButtonDown("Fire1") בודקת את השם, ולא מקש מסוים. בפרויקט חדש מופיעים אלה:
"Jump": מקש הרווח"Fire1": מקש Ctrl השמאלי או לחצן העכבר השמאלי"Fire2": מקש Alt השמאלי או לחצן העכבר הימני"Submit"ו-"Cancel": מקשי Enter ו-Escape
לחצני בקר המשחק משויכים לאותם שמות, ואפשר לשנות את המקשים במנהל הקלט בלי לגעת בקוד. GetButton, GetButtonDown ו-GetButtonUp פועלות כמו GetKey, GetKeyDown ו-GetKeyUp. כלי הירי הזה מתעד ירייה בכל לחיצה על Ctrl או בכל לחיצה בעכבר:
void Update()
{
if (Input.GetButtonDown("Fire1"))
{
Debug.Log("Shot!");
}
}השם הוא מחרוזת, ולכן גם שם עם שגיאת כתיב מתקמפל. Unity מחפשת אותו כשהשורה רצה, ואם אין לחצן בשם הזה, היא זורקת חריגה בכל פריים: ArgumentException: Input Button Fier1 is not setup. כשמופיעה ההודעה הזאת, השוו את השם בקוד שלכם לרשימה שבמנהל הקלט.
אתגר
קלתקן את הקפיצה של הצפרדע וגרום לה לנחות שוב.
- לחץ על "שחק": ה־Console מציג שגיאה לגבי הכפתור
"Jumpp". שנה אותו ל־"Jump". - הוסף
ifשני עבורInput.GetButtonUp("Jump"), שמחסיר אתnew Vector3(0, hop, 0)מ־transform.position.
לחץ על "שחק", החזק את מקש הרווח ושחרר אותו: הצפרדע קופצת למעלה ואז נוחתת. לאחר מכן לחץ על "בדיקה".
נסו בעצמכם
using UnityEngine;
public class Hopper : MonoBehaviour
{
public float hop = 1.5f;
void Update()
{
if (Input.GetButtonDown("Jumpp"))
{
transform.position += new Vector3(0, hop, 0);
}
}
}
כל השיעורים ביחידה יסודות הסקריפטים ב-Unity
1יסודות C# ב-Unity
שלום, Unityמשתניםמספרים עשרוניים צריכים fטקסט ב-Consoleמשתנים ששומרים ערכיםאם ואחרתהשוואת מספריםחזרה: אוסף המטבעות5וקטורים
חיבור וקטוריםכיווניםמרחב מקומי ומרחב עולמימהירות אלכסוניתהמרחק בין עצמיםVector3 הוא מבנה נתוניםסיכום: הטסת רחפן8אובייקטי משחק ורכיבים
הפניות ב-Inspectorקבלת רכיברכיבים חסריםהוספת רכיבRequireComponentהצגה והסתרהחזרה: מתג תאורה6טרנספורמציות והיררכיה
הורים וילדיםלהניף את הדגלקנה מידהלהסתכל על דבריםלנוע לעבר נקודהסיכום: הירח המקיף12מחזור החיים של הסקריפט
Awake ו-StartUpdate ו-LateUpdateOnEnable ו-OnDisableסדר מחזור החייםסיכום: יומן מחזור החייםתרגלו בעצמכם: Unity אונליין