נלחץ, מוחזק, שוחרר
חלק מהיחידה יסודות הסקריפטים ב-Unity במסלול ה-Unity של Coddy. שיעור 19 מתוך 85.
Unity יכולה לספר לך שלושה דברים שונים על מקש, ועל כל אחד מהם שואלים בתוך Update():
Input.GetKeyDown(KeyCode.Space): האם מקש הרווח נלחץ בפריים הזה? הערך הוא true בפריים אחד לכל לחיצה.Input.GetKey(KeyCode.Space): האם מקש הרווח לחוץ עכשיו? הערך הוא true בכל פריים כל עוד מקש הרווח מוחזק לחוץ.Input.GetKeyUp(KeyCode.Space): האם מקש הרווח שוחרר בפריים הזה? הערך הוא true בפריים אחד, כשהמקש משתחרר.
החזק את מקש הרווח למשך חצי שנייה בקצב של 60 פריימים לשנייה, ו-GetKey יהיה true ב-30 פריימים, GetKeyDown בראשון שבהם, ו-GetKeyUp בפריים שאחרי האחרון. תותח שיורה פעם אחת בכל לחיצה בודק את GetKeyDown; עם GetKey, לחיצה אחת תירה 30 יריות:
public int shots = 0;
void Update()
{
if (Input.GetKeyDown(KeyCode.Space))
{
shots++;
Debug.Log("Shots fired: " + shots);
}
}GetKeyUp מיועד למה שקורה כשהשחקן משחרר את המקש, למשל סיום ריצה מהירה. שלושתם נותנים תשובה רק עבור הפריים הנוכחי, ולכן מקומם בתוך Update(): היא פועלת בכל פריים, בעוד Start() פועלת פעם אחת וכמעט תמיד תחמיץ את הלחיצות.
אתגר
קלהקלע נטען כל עוד מקש הרווח לחוץ, ומדווח על הירייה עם שחרורו.
- ב־
Update(), כל עודInput.GetKey(KeyCode.Space)הוא true, הוסף אתTime.deltaTimeאלcharge. - בעת
Input.GetKeyUp(KeyCode.Space), רשום"Charge: " + charge, ואז הגדר אתchargeל־0.
לחץ על "שחק", החזק את מקש הרווח ושחרר: הקונסול יציג שורה כגון Charge: 1.5. לאחר מכן לחץ על "בדיקה".
נסו בעצמכם
using UnityEngine;
public class Slingshot : MonoBehaviour
{
float charge = 0f;
void Update()
{
// כל עוד Space לחוץ: charge גדל ב־1 בכל שנייה.
// כשמשחררים את Space: רשמו ביומן את הערך של charge, ואז אפסו אותו ל־0.
}
}
כל השיעורים ביחידה יסודות הסקריפטים ב-Unity
1יסודות C# ב-Unity
שלום, Unityמשתניםמספרים עשרוניים צריכים fטקסט ב-Consoleמשתנים ששומרים ערכיםאם ואחרתהשוואת מספריםחזרה: אוסף המטבעות5וקטורים
חיבור וקטוריםכיווניםמרחב מקומי ומרחב עולמימהירות אלכסוניתהמרחק בין עצמיםVector3 הוא מבנה נתוניםסיכום: הטסת רחפן8אובייקטי משחק ורכיבים
הפניות ב-Inspectorקבלת רכיברכיבים חסריםהוספת רכיבRequireComponentהצגה והסתרהחזרה: מתג תאורה6טרנספורמציות והיררכיה
הורים וילדיםלהניף את הדגלקנה מידהלהסתכל על דבריםלנוע לעבר נקודהסיכום: הירח המקיף12מחזור החיים של הסקריפט
Awake ו-StartUpdate ו-LateUpdateOnEnable ו-OnDisableסדר מחזור החייםסיכום: יומן מחזור החייםתרגלו בעצמכם: Unity אונליין