
Invoke עם השהיה של שלוש שניות.Invoke מריץ פונקציה אחרי השהיה שמוגדרת בשניות. בלי תנאי עצירה הקוד היה נשאר בלולאה אינסופית.הטקסט המלא של הדקות הראשונות בהרצאה «פיתוח דמות האויב - חלק 6» בקורס הווידאו של PracticU – כתוביות בעברית עם זמן התחלה לכל פסקה. כך תוכלו לקרוא ולחפש את הנושאים לפני שמתחילים ללמוד.
היום אנחנו נעשה את כל מה שקשור לאנימי מבחינת הקוד, הקישור בין המעברים בין האנימציות ואם נספיק נעשה את היריעה עצמה, זאת אומרת את הבולט עצמו אבל נראה לי שלא כל כך נספיק מכיוון שהקוד היום שנכתוב הוא קצת יותר מסובך מהרגיל ממה שהתמודדנו עד עכשיו כי יש לנו בעצם מעברים בין כמה מצבים בכמה
תנאים שונים אז אני אשתדל לעשות את זה יחסית לאט וברור אבל אם לא יצא לי כל כך אז אתם מוזמנים לשאול בפייסבוק או בוואטסאפ או פשוט לראות את השיעור שוב עד שתבינו.
בכל מקרה אני מזכיר האויב שלנו יש לנו בעצם סוג של אויב שהוא מפטרל ויש סוג של אויב שהוא עומד אם נכנס השחקן לשדה הראייה של האויב אם הוא מפטרל הוא מפסיק לפטרל והוא נכנס למצב יריעה גם אם הוא עומד הוא נכנס למצב למצב יריעה אבל הוא לא צריך להפסיק לפטרל ונכנס למצב יריעה זה אומר שהוא גם כל שלוש שניות יורה וכאשר השחקן יוצא מהשדה הרי השלום הוא
מפסיק לירות ואם הוא מפטרל הוא חוזר לפטרל אם הוא סוג האויב שהוא מפטרל אוקיי אז כבר בהסבר שלי זה כבר קצת אתם מבינים שהקוד שאמור לייצג אותו כבר יהיה קצת יותר מסובך מהרגיל אבל אנחנו נתמודד אז בואו נתחיל דבר ראשון שאני אעשה פה אז יש לי פה פטרולינג עכשיו בשביל לא להתבלבל כי יהיה לי למשל עכשיו עוד מעט יהיה לי שוטינג
סטייט. פטרולינג זה לא סטייט זה פטרולינג אנמי אז אני אשנה את זה לפטרולינג אנמי כי זה משהו שאנחנו לא נשנה אחרי הסטארט פטרולינג אנמי לא נעשה לו השמה לא אחרי הסטארט אלא אחרי שאנחנו נגדיר את הלבל ונגדיר פה האם הוא פטרולינג או לא אנחנו לא ניגע בזה במשתנה הזה יותר.
אוקיי אז עכשיו כמו שאמרתי יהיה לנו גם בול שוטינג סטייט ובהתחלה הוא פולס. עכשיו אני אוסיף פה פרייבט בשביל האחידות למרות שלא ממש הקפדתי על זה עד עכשיו אבל כדאי להתחיל להתרגל וכרגע מה שאני רוצה לעשות זה אני מזכיר כאשר זיהינו למשל בוול דיטקטור שאנחנו נכנסים לתוך קיר אנחנו קראנו לפונקציה טרן שנמצאת בתוך אנמי קונטרולר באמצעות
טרנספורם נקודה פרנט נקודה גט קומפורנט ואז קיבלנו את הגישה לאנמי קונטרולר יותר נכון לכל מה שפאבליק באנמי קונטרולר. וקראנו לה פונקציה term אז אותו דבר תהיה לי פונקציה פאבליק באנמי קונטרולר שתיקרא סט שוטינג סטייט אז פאבליק ווייד סט שוטינג סטייט והיא תקבל בוליאן למה כי אני רוצה גם את האפשרות להכניס אותו וגם האפשרות להוציא אותו סטייט.
אוקיי וכרגע אני יכול פשוט להגיד shooting state שווה state והנה עדכנתי את זה. עכשיו בואו נעשה את זה גם בפלייר דיטקטור אז אני לוקח את כל החלק הזה חוץ מהפונקציה turn ופה איפה שזיהיתי כניסה זאת אומרת שהשחקן נכנס לשדה הראייה שלי אני עושה set שוטינג סטייט טרו טרו וכאשר זיהיתי יציאה אני משנה את זה לפולס או פולס ואני יכול גם לבטל את ההדפסה ראינו
שזה עובד אוקיי אז עכשיו כרגע יש לי את הפרמטר הזה שמתעדכן כאשר אני נכנס או לא נכנס או יוצא מהשדה הראייה עכשיו בוא נראה מה עוד אנחנו צריכים לעשות אוקיי אז קודם כל בסטארט אנחנו לא צריכים לעשות כלום באפדייט אנחנו כן צריכים כלומר יש לי אם זה פטרולינג אנמי אני עושה לו טרנזלייט אז אני לא רוצה לעשות אם אני בשוטינג סטייט.
אז גם אם אני גם פטרולינג אנמי וגם אני לא במצב יריעה אז תתקדם טרן לא רלוונטי אוקיי בוא נמשיך מכאן עכשיו פה מה שאני רוצה לעשות זה כשאשר הוא מזהה שהוא נכנס הוא ישר יורה את היריעה הראשונה שלו אנחנו נעשה את זה בפונקציה נפרדת.
היא תהיה private void shoot ומה שהיא תעשה כרגע היא רק תפעיל את האנימציה ואנחנו עושים את זה באמצעות set trigger shoot אני מזכיר שוב שבאנימטור יש לי פה trigger shoot וזה מה שעשיתי פה הפעלתי אותו אוקיי זה דבר אחד דבר שני אני רוצה כאמור שהוא יפעל כל שלוש שניות אז אני יכול בעצם להשתמש במנגנון שמפעיל לי פונקציה ב-delay ואני אפעיל את עצמי.