PracticU

פיתוח דמות השחקן - חלק 3

בלי כתוביותעם כתוביות
PracticU › קורס פיתוח משחקים יוניטי - Unity - שפת #C › פיתוח דמות השחקן - חלק 3
מילון מושגים:
משתנה - שם שמפנה למקום בזיכרון שבו נשמר ערך שיכול להשתנות במהלך ריצת התוכנית, כמו מספר, טקסט או אובייקט.
תגית - סימון בקוד, למשל ב-HTML, שתוחם רכיב ומגדיר את תפקידו או תכונותיו. גם תווית לסימון וקיטלוג פריטים.
אובייקט - יחידה בתכנות מונחה עצמים שמאגדת נתונים (תכונות) ופעולות (מתודות). נוצר בדרך כלל ממחלקה המשמשת כתבנית.

פיתוח דמות השחקן - חלק 3
השיעור מוסיף לשחקן קפיצה, ומאפשר לקפוץ רק כשהוא עומד על הרצפה.
שלושה שלבים
1. קלט: מגדירים ציר בשם Jump ב-Input Manager. הכפתור החיובי משתנה מ-Space ל-W, כי Space מגושם במקלדות.
2. מהירות בציר Y: משתמשים ב-Input.GetButtonDown("Jump"), כי קפיצה היא לחיצה בודדת ולא לחיצה ארוכה. מוסיפים ל-velocity וקטור קפיצה, new Vector2(0, 10), ששמור במשתנה ציבורי בשם jumpSpeed.
3. בדיקה שהשחקן על הרצפה: המשתנה isGrounded מתעדכן לפי OnCollisionEnter2D ו-OnCollisionExit2D. הבדיקה נעשית לפי התג (Tag) של האובייקט שהשחקן נוגע בו, כשהרצפה מתויגת כ-Floor.
הגדרות פיזיקה
ב-Project Settings > Physics 2D משנים את כוח המשיכה. בשיעור הוא הוגדר לערכים חזקים יותר כדי שהקפיצה תרגיש טבעית, ומהירות הקפיצה עלתה ל-15. שינויים שמבוצעים בזמן ריצה אינם נשמרים, ולכן צריך לשנות אותם בעורך.
אחרי השיעור השחקן קופץ בלחיצה אחת, רק מהקרקע, ולחיצות באוויר לא גורמות לקפיצה נוספת.
השיעור הבא בקורס: פיתוח דמות השחקן - חלק 4

פרקי ההרצאה: פיתוח דמות השחקן - חלק 3

  1. 00:00

    שלושה שלבים לקפיצה של הדמות

  2. 00:41

    שינוי מקש הקפיצה לאות W ב-Input

  3. 01:15

    קלט לחיצה בודדת עם GetButtonDown

  4. 02:11

    הגדרת jumpSpeed והוספתו ל-velocity

  5. 03:33

    כוונון כוח המשיכה וגובה הקפיצה

  6. 05:14

    בדיקה שהדמות עומדת על הרצפה

  7. 05:52

    אירוע OnCollisionEnter2D לזיהוי מגע

תמלול ההרצאה: פיתוח דמות השחקן - חלק 3

הטקסט המלא של הדקות הראשונות בהרצאה «פיתוח דמות השחקן - חלק 3» בקורס הווידאו של PracticU – כתוביות בעברית עם זמן התחלה לכל פסקה. כך תוכלו לקרוא ולחפש את הנושאים לפני שמתחילים ללמוד.

  1. 00:02

    היום אנחנו נגרום לדמות שלנו לקפוץ. אנחנו נעשה את זה בשלושה צעדים. בצעד הראשון אנחנו נגדיר את הציר האינפוט שלנו שיתאים לנו לקפיצה. בשלב השני אנחנו נגרום בעצם לדמות לקפוץ על ידי זה שנוסיף מהירות בציר ה-Y ל-Rigid Body שלנו.

  2. 00:30

    ובשלב השלישי אנחנו נבדוק שאנחנו על הרצפה. כלומר, אני לא רוצה את האפשרות לקפוץ מהאוויר, אני רוצה אפשרות לקפוץ רק כאשר אני באמת עומד על הרצפה.

  3. 00:41

    בואו נתחיל אנחנו כמובן מתחילים מהאינפוט אנחנו מסתכלים שיש לנו פה ציר שנקרא ג'אמפ ואין לו נגטיב בטון הפוזיטיב בטון שלו הוא ספייס אני אשנה אותו ל-W ככה אני רוצה במשחק שלי.

  4. 00:58

    אני רוצה שבמקום ספייס שזה מקש מאוד מגושם תמיד עושה בעיות במקלדות ואני רוצה משחק נוח. אני רוצה שאם עלה למעלה בעצם אני קופץ ואני שומר עכשיו אני אגש בעצם לבדוק את האינפוט שלי.

  5. 01:15

    קודם כל אני רוצה פה לנקות קצת אנחנו לא משתמשים בסטארט כרגע את זה אנחנו לא צריכים ופה אני אבדוק האם בעצם אני לוחץ על ג'אמפ ואיך אני עושה את זה אני לא עושה את זה הפעם עם גט אקסיס גט אקסיס הוא רלוונטי לתנועות כמו תנועות ימינה ושמאלה או בכלל תנועה או כל פעולה שאתה עושה בלחיצה ארוכה ג'אמפ זה לחיצה בודדת ולכן

  6. 01:43

    אנחנו לא משתמשים בגט אקסיס אלא בגט בטון דאון אז ככה איף input.get-button ועכשיו שימו לב יש פה get-button, get-button-down ו-get-button-up.

  7. 02:00

    down זה כשאני לוחץ על הכפתור, up זה כשאני עוזב אותו ו-get-button זה האם הוא לחוץ. עכשיו ככה, אז get-button-down ועכשיו את השם של הציר שהוא jump, אז מה שאני רוצה פה לעשות add y ולא ct.

  8. 02:22

    עכשיו מה שאני רוצה לעשות זה להגדיר בעצם את מהירות הקפיצה שלי. אז אני אגדיר אותו כ-private וקטור 2 ואני מגדיר וקטור 2 כי ה-velocity הוא גם וקטור 2 כדי שאני אוכל לחבר ביניהם, אני צריך שהם יהיו מאותו סוג.

  9. 02:40

    private וקטור 2 jump speed שווה new וקטור 2 ובציר ה-X לא רוצה שום דבר, 0 ובציר ה-Y ניתן לו 10, 10 זה כיוון חיובי זה למעלה. אז עכשיו מה שאני עושה פה זה פשוט rigid body שאם אתם זוכרים כבר יש לנו, כאמור נקודה ולוסיטי ואני רוצה להוסיף לו אז אני עושה פלוס שווה ג'אמפ ספיד וזהו אני שומר אני לוחץ פה על פליי ועכשיו

  10. 03:20

    אם אני לוחץ על למעלה אני מקבל פה מהירות כמובן מכיוון שלא בדקנו אם אני על הרצפה אני יכול גם באמצע האוויר ללחוץ אני יכול ללחוץ כמה פעמים הוא יעוף לי כמו טיל וזה לא מה שמעניין אותי אבל כרגע זה בסדר חוץ מזה שהפיזיקה פה נראית על הפנים וזה גם כן אם קשור לסקייל ולמהירות אז אני אשחק עם זה

  11. 03:46

    קצת אז למשל אני יכול ב-Edit Project Settings Physics 2D במקום מינוס 10 אני אשים מינוס 20 ל-Gravity ואני אראה איך זה עובד עדיין התאוצה שלו היא מאוד נמוכה אני אשנה פה ל-30 עכשיו משהו מאוד חשוב ב-Unity לזכור אם אני משנה ערכים בזמן ריצה הוא לא שומר לי אותם אחר כך אז אני אשנה פה את זה ועכשיו זה כבר יותר הגיוני אבל אם עכשיו אני עוצר זה ישתנה חזרה

  12. 04:25

    למינוס 20 אז אני אעשה את זה למינוס 30 ואני גם רוצה שהוא יקפוץ יותר גבוה אז אני אשנה פה ל 15. בוא נראה איך זה נראה שימו לב שכמובן גם אם אני כרגע רץ ואני לוחץ על למעלה אז אני כרגע לא משנה את המהירות של הx כאשר אני לוחץ על הג'אמפ אני יכול גם לשלוט בו באוויר שזה מבחינתי בסדר וכמובן שאני יכול ללחוץ כמה פעמים שזה לא בסדר דרך אגב את האנימציות של הקפיצה נוסיף בשיעור הבא.

  13. 04:59

    אוקיי, אז זה דבר שני שעשינו, שזה בעצם הוספנו את ה-velocity אחרי שהגדרנו את ה-input. הדבר האחרון שאני רוצה לעשות זה להוסיף בדיקה האם אני על הרצפה.

  14. 05:14

    אז איך אני עושה את זה? קודם כל אני אגדיר private ball is grounded ואני אגדיר אותו כ-true בהתחלה ועכשיו אם אתם תשימו לב יש לי פה את הפונקציה update הפונקציה update לא אני קורא לה.

  15. 05:37

    קוראת לה ויש לנו עוד הרבה מאוד פונקציות שאנחנו יכולים להשתמש בהן כאשר קוראים אירועים מסוימים אז יש לנו גם כמובן פונקציות בכל מה שקשור להתנגשויות ולכן אני יכול פשוט להתחיל לכתוב וזה ישלים לי אותם גם זה נחמד אז רוב האירועים האלה זה מתחיל ב-on ויש לנו פה המון פונקציות של אירועים שקורים ואני מקבל עליהם

  16. 06:03

    איזשהו עדכון אז אני עכשיו on collision enter 2d והוא משלים לי לבד שימו לב שאני מקבל פה קוליז'ן עכשיו עוד דבר חשוב לעשות אני רוצה לתת בעצם סוג של שיוך

לקורס המלא: קורס פיתוח משחקים ביוניטי

ההרצאה הקודמת: פיתוח דמות השחקן - חלק 2

ההרצאה הבאה: פיתוח דמות השחקן - חלק 4

הרצאות קשורות מקורסים אחרים

  • שלבי פיתוח של התוכנה
  • מחזור חיי פיתוח
  • מחזור חיים של פיתוח מוצר תוכנה
  • הרצת הטסטים האוטומטיים - פיתוח אנדרואיד

קורסים נוספים במסלול

  • קורס יסודות התכנות - שפת C# .NET - קורס תכנות למתחילים - דוט-נט / סי-שארפ - חומר לימוד של מדעי המחשב