Menu
CoddyTech

שתי מערכות קלט

חלק מהיחידה בונים משחקים אמיתיים במסלול ה-Unity של Coddy. שיעור 43 מתוך 56.

ל-Unity יש שתי דרכים לקרוא קלט מהמקלדת ומהעכבר. הדרך שבה השתמשת עד עכשיו היא Input Manager: המחלקה Input עם GetKey, GetAxis ו-GetButtonDown, וצירים ולחצנים ששמותיהם מוגדרים ב-Project Settings > Input Manager. הדרך החדשה יותר היא החבילה Input System (com.unity.inputsystem). הסקריפטים שלה מתחילים ב-using UnityEngine.InputSystem;, והיא קוראת את ההתקנים כאובייקטים, כמו Keyboard.current ו-Mouse.current, וגם באמצעות actions: פעולות בעלות שם שהשחקן מבצע, כמו Move ו-Jump, שכל אחת מהן משויכת למקשים, למוטות וללחצנים.

ההגדרה הקובעת באיזו שיטה הפרויקט משתמש נמצאת בהגדרות Player: Edit > Project Settings > Player > Other Settings > Active Input Handling, ובה שלוש אפשרויות: Input Manager (Old), Input System Package (New) ו-Both. פרויקט Unity 6 חדש מתחיל עם Input System Package (New), ושם כל קריאה למחלקה Input זורקת InvalidOperationException שאומרת שהקלט נקרא דרך UnityEngine.Input בזמן שהפרויקט משתמש בחבילת Input System. לכן בשיעורים הקודמים ביקשו ממך לבחור Both. שינוי ההגדרה מצריך הפעלה מחדש של העורך, ו-Unity מציעה לבצע זאת.

Unity 6 מתחילה עם המערכת החדשה כי API אחד תומך במקלדות, עכברים, בקרי משחק, מסכי מגע ובקרי XR, וגם כי actions משאירות את המקשים מחוץ לקוד: סקריפט קורא את הפעולה Jump, ואותה שורה פועלת עם Space, עם לחצן A בבקר משחק או עם לחצן על המסך בטלפון, וגם עבור שחקן שמגדיר מחדש את המקש. Input Manager הישן נשאר עבור פרויקטים ישנים יותר. תצוגת המשחק של Coddy פועלת כמו Both, כך שהמקשים, הלחיצות ומשטח הבקרה של הטלפון (החצים ו-Jump) מגיעים לשתי המערכות. בהמשך הפרק הזה נשתמש ב-Input System.

נסו בעצמכם

השיעור הזה לא כולל אתגר קוד.

quiz iconבחנו את עצמכם

השיעור הזה כולל חידון קצר. התחילו את השיעור כדי לענות עליו ולעקוב אחרי ההתקדמות.

כל השיעורים ביחידה בונים משחקים אמיתיים