PracticU

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

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

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

  1. 00:00

    זיהוי קצה הפלטפורמה בעזרת חיישן

  2. 01:06

    אירוע OnTriggerExit2D ומתי מסתובבים

  3. 01:59

    בעיית הקרקע המורכבת מכמה אריחים

  4. 02:42

    פתרון: בדיקה שהאויב לא מתנגש בשום דבר

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

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

  1. 00:02

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

  2. 00:29

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

  3. 01:01

    בואו נפתח אותו, וכמו הוולד דטקטור אני לא צריך סטארט, אני לא צריך אפדייט, מה שאני צריך זה כמו שהיה לי on collision on trigger enter 2D אני יהיה לי כאן on trigger exit 2D. ועכשיו עכשיו אני יכול מהוול דיטקטור להעתיק את הפונקציה את הקריאה לפונקציה הזאת ואני שומר.

  4. 01:31

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

  5. 01:55

    אז למעשה סיימנו אבל לא בדיוק. ולמה? מכיוון שברוב משחקי ה-2D במיוחד כאלה אנחנו לא נעבוד עם גראונד כזה, אנחנו נעבוד עם טיילינג, שזה אומר שהאדמה שלנו תהיה מורכבת יותר מריבועים שכאלה, ואני אדגים מה קורה כשאני אעשה את זה ככה.

  6. 02:17

    אז אני אשכפל פה, ויש לי פה את גראונד 1 וגראונד 3, אני אשנה להם את הסקייל ל-1, ועכשיו אחד מהם אני אזיז לכאן, ואת זה אני אזיז לכאן, ואנחנו נראה מה קורה כשאני מריץ את זה.

  7. 02:37

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

  8. 02:55

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

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

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

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

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

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

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

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