
Turn היא ציבורית, והיא הופכת את הסקייל בציר X ואת המהירות לערך נגדי. כדי לקרוא לה מהחיישן משתמשים ב-transform.parent, שמחזיר את האב, ומקבלים ממנו את הרכיב EnemyController בעזרת GetComponent.הטקסט המלא של הדקות הראשונות בהרצאה «פיתוח דמות האויב - חלק 2» בקורס הווידאו של PracticU – כתוביות בעברית עם זמן התחלה לכל פסקה. כך תוכלו לקרוא ולחפש את הנושאים לפני שמתחילים ללמוד.
מה שנעשה היום זה בעצם נבדוק אם יש מולנו קיר, אני מדבר כמובן על האויב ואם יש קיר אז אנחנו נסתובב לכיוון השני. אז לצורך זה בוא ניצור לנו סביבה מתאימה אז אני לוקח את הגראונד הזה, אני אשכפל אותו, אני ארים אותו לכאן ונשנה לו את הסקייל ל-0.3 ואני אגרור אותו לכאן ושוב אני אשכפל ואני אזיז לצד שני ומה שאני רוצה זה
זה שבעצם האויב שלי ירוץ מצד לצד, כל פעם שהוא מגיע לקצה הוא מסתובב לכיוון השני. עכשיו מה שקורה אם אני לוחץ פשוט על play, אז הוא מגיע לקצה, הוא בעצם מנסה להמשיך לרוץ.
מדובר פה על אובייקטים שיש להם ריג'יט באדי ויש להם קוליידרים, אז הם לא יכולים לעבור אחד דרך השני, אז פשוט הוא מנסה במרכאות והוא לא מצליח. טוב, קצת טיפה לארגן פה, אני יוצר פה Game Object ריק, בשביל הסביבה שלי ואני לוקח את כל הפלטפורמות ואני שם בתוכן והנה יש לי בעצם את כל הסביבה שלי מאורגנת תחת Game Object 1. אוקיי עכשיו
בשביל לגלות מתי אני מתנגש אני אעשה את זה אני לא רוצה שהוא יגיע ממש ממש עד הקצה אז אני פשוט אוסיף לו איזה חיישן קטן מקדימה. אז אני יוצר פה Create Empty Game Object מתחתיו נקרא לזה wall-detector ואני אזיז אותו לכאן ואני אוסיף לו box-collider 2D. אני לא רוצה אותו בכזה גודל אז אני אשנה אותו ל-0 עבודה 2 עבודה 2 זהו יש לנו בעצם וזה אני אעשה שהוא טריגר וברגע שמכיוון שהוא בעצם הבן של
ה-enemy שלי אז הוא זז ביחד איתו ברגע שהאויב יתקדם לצד הזה ברגע שהוא יגיע לקיר אז אני אוכל לעשות דיטקט לקוליז'ן שלי וכמובן מכיוון שהוא גם הבן שלו אז ברגע שאני אשנה לאויב את הסקייל למינוס אחד גם המיקום של החיישן הזה הוא מסתובב לצד השני אוקיי אז לוול דיטקטור שלי אני מוסיף גם
סקריפט אז וול דיטקטור נוצר לי סקריפט אני רוצה גם אותו לגרור לתיקייה של הסקריפט ואני אפתח אותו. יופי אני לא צריך סטארט אני לא צריך אפדייט מה שאני צריך זה משהו מאוד מאוד פשוט ווייד און טריגר אנטר 2D ובשלב ראשון נראה שזה עובד דיבאג דוט לוג וול דיטקטד אוקיי עכשיו אם אני אריץ את זה אז ברגע שהגעתי אני רואה וול דיטקטד אז מה שאני רוצה
לעשות פה במקום להדפיס אני אגיד לו turn the character אוקיי עכשיו ואני צריך להוסיף את הפונקציונליות של הסיבוב של הפנייה ל-Enemy Controller.
אז גם פה אני אנקה קצת, אני מוציא את הסטארט, ומה שאני רוצה לעשות פה זה פונקציה שהיא public, כדי שאני אוכל לקרוא לה מבחוץ, public void turn, ומה שאני עושה ב-turn, אני גם משנה את הספיד שלי לכיוון השני וגם את ה-scale, אז קודם כל transform.scale,
נקודה לוקל סקייל שווה ניו וקטור שלוש עכשיו טרנספורם טרנספורם נקודה לוקל סקייל נקודה איקס אבל על הערך השלילי כלומר אם הוא אחד הוא יהיה מינוס אחד ואם הוא מינוס אחד הוא יהיה אחד ככה יש לי טרן ולא צריך טרן רייט וטרן לפט וכמובן את הוואי והזד אני לא משנה אני משאיר אותם אחד וגם אקס ספיד שווה מינוס אקס ספיד אוקיי אז יש לי בעצם פונקציה שנקראת טרן ואני צריך לקרוא לה מתוך הוולד
דיטקטור אבל מה הוולד דיטקטור שייך לגיים אובג'ק שנקרא וולד דיטקטור והטרן שייך לאנמי קונטרולר שנמצא על אנמי אז מה אני עושה אז קודם כל