PracticU

פיתוח דמות האויב - חלק 5

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

פיתוח דמות האויב - חלק 5
השיעור ממשיך לעבוד על האויב, ומוסיף שתי יכולות: בחירה בהתחלה אם האויב מפטרל או עומד, וזיהוי השחקן כשהוא נכנס לשדה הראייה.
בחירת סוג האויב
המשתנה הבוליאני patrolling מוגדר כציבורי, ואז אפשר לראות אותו בעורך. כשבונים את הלבל ומציבים אויבים, קובעים לכל אחד מהם אם הוא עומד או מפטרל. בתחילת הריצה הקוד מציב את הפרמטר בשם זהה באנימטור, כלומר מבחינה טכנית הערך בסקריפט והערך באנימטור הם שני דברים נפרדים.
זיהוי השחקן
1. חיישן: מוסיפים Game Object ריק לאויב, בשם PlayerDetector, עם Box Collider 2D גדול שמוגדר כטריגר. גודל הקוליידר מכסה את שדה הראייה של האויב.
2. סקריפט: ב-OnTriggerEnter2D בודקים שהמתנגש הוא השחקן, ואם כן מתחילים לירות. ב-OnTriggerExit2D היציאה מהאזור עוצרת את הירי.
3. בדיקה: בודקים עם הודעות Debug.Log שנכנסים ויוצאים מהאזור.
אחרי השיעור האויב מזהה את השחקן כשהוא נכנס לשדה הראייה, ומפסיק לפטרל אם הוגדר כמפטרל. ההתנהגות הזו תתווסף בשיעור הבא.
השיעור הבא בקורס: פיתוח דמות האויב - חלק 6

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

  1. 00:00

    בחירת סוג האויב: עומד או מפטרל

  2. 00:59

    גישה לאנימטור והפעלת הפרמטר מהקוד

  3. 02:34

    בדיקת הפטרול בסצנה ובחירת הסוג בבנייה

  4. 03:39

    הוספת Player Detector לשדה הראייה

  5. 04:40

    סקריפט הזיהוי ואירוע OnTriggerEnter2D

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

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

  1. 00:02

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

  2. 00:15

    הדבר השני שאני אעשה זה אני אוסיף את הדיטקשן לפלייר כשהוא נכנס לשדה הראייה שלי. אז בשביל להוסיף את המנגנון של האם הוא פטרולינג או לא, אני יכול פשוט באמצעות הבוליאן הזה, אם אני הופך אותו לפאבליק, אני יכול לראות אותו כאן באדיטור ואז כשאני בונה את ה-level ושם את האויבים שלי,

  3. 00:40

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

  4. 01:04

    אז בואו נעשה את זה. אוקיי, אז עכשיו מחקתי את הסטארט אבל אני אוסיף אותה מחדש כי פה אני אעשה את זה הסוג של האויב בין אם הוא עומד או בין אם הוא רץ זה משהו שאני קובע בהתחלה אז זה יהיה בסטארט void start ועכשיו if patrolling אז אני צריך גישה לאנימטור ולפני זה אני רק רוצה בשביל למנוע

  5. 01:35

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

  6. 02:20

    ואם הוא פטרולינג אז true else false וזהו עכשיו בואו נלך לסצנה שימו לב יש לנו פה גם באפדייט איף פטרולינג וגם בסטארט. אני לוחץ פה על פליי, כרגע הוא מסומן כפטרולינג, אז הוא ירוץ לי.

  7. 02:48

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

  8. 03:01

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

  9. 03:16

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

  10. 03:39

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

  11. 04:17

    שהוא יזהה את כל האזור הזה אז נניח הסייז שלו יהיה 7 והאופסט יהיה 3, 3.5, לא, אני אעשה אותו 6, אוקיי. אז בניתי לי את הפלייר דיטקטור ועכשיו אני גם כמובן אוסיף לו סקריפט, פלייר דיטקטור ויצרתי את הסקריפט שלי.

  12. 04:51

    אני כמובן שאני אגרור אותו לתקייה של הסקריפט. ל-enemy שלי פה אני לוחץ apply כדי שהוא יופיע לי גם כאן בפריפאב.

  13. 05:03

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

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

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

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

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

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

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

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