
הטקסט המלא של הדקות הראשונות בהרצאה «פיתוח דמות האויב - חלק 8» בקורס הווידאו של PracticU – כתוביות בעברית עם זמן התחלה לכל פסקה. כך תוכלו לקרוא ולחפש את הנושאים לפני שמתחילים ללמוד.
היום אנחנו נוסיף את הכליאים ל-Enemy, אבל נעשה את זה, אני אחזיר אתכם קצת אחורה לשיעור על תורשה. כשדיברנו על תורשה, הדוגמה שלי הייתה כלב וחתול, שהם שניהם סוג של חיה.
במקרה הזה, גם הפלייר וגם ה-Enemy הם סוג של דמות, או יותר מפורט אפילו, סוג של דמות שיורה. אז לוגית כדאי לי ליצור קלאס שהוא יותר כללי, ולא לשכתב קוד.
כלומר אם לא היה לי תורשה מה שהייתי צריך לעשות זה להעתיק את הקוד שיורה קליעים מהפלייר לאנמי. מה שאני אעשה פה זה אני אגדיר קלאס שהוא האבא שלהם ואני אגדיר שם את כל הפונקציונליות את כל מה שמשותף להם בעצם כי שניהם אפשר לשייך אותם רעיונית לאותו סוג של אובייקט.
אז אנחנו מה שנעשה זה ניקח ניצור סקריפט חדש שנקרא לו שוטינג קרקטר ואת כל מה שקשור ליריות אנחנו נעביר אליו מהפלייר ואז נגדיר שגם האנמי שלנו יהיה יירש מ-shooting character.
טוב, אבל לפני זה משהו קטן שאני רוצה לתקן וגם לנקות קצת את הקוד, כי מישהו שאל אותי על זה ופשוט חיכיתי להזדמנות הנכונה לעשות את זה.
אז קודם כל מה שאני רוצה לעשות, שאלו אותי האם זה נכון ליצור וקטור חדש בעצם כל פריים זה נמצא באפדייט. באפדייט ליצור אובייקט חדש בצורה דינמית זה נקרא, זאת אומרת אני לא מגדיר את זה מראש אלא כמו שאתם רואים יש פה את מילת המפתח new.
לא כדאי לעשות את זה, כדאי להמעיט בזה ובטח לא כדאי בכל פריים. אז לצורך זה אני יכול פשוט להגדיר private וקטור שלוש פייסינג לפט סקייל שווה ניו וקטור שלוש מינוס אחד פסיק אחד פסיק אחד ויצרתי פעם אחת בהתחלה את המשתנה הזה שהוא מסוג וקטור שלוש ואז פה אני יכול לעשות השמה אליו ואני לא צריך כל פעם ליצור חדש גם לצורך המנגנון
יריעה שלנו יש לנו את המשתנה פייסינג רייט ואנחנו לא נשתמש בו אנחנו פשוט ניפטר ממנו ואנחנו נשתמש פשוט בסקייל שלנו בשביל לבדוק האם אנחנו פייסינג רייט. אז אני אמחק אותו מפה ומיד הוא ימצא לי ויסמן לי באדום את כל המקומות שיש לי את פייסינג רייט.
ומתי אני משתמש בו פה אז פה אני יכול לכתוב בול פייסינג רייט שווה ואז אני כותב טרנספורם נקודה לוקל סקייל נקודה x גדול מאפס וזהו למעשה אז עכשיו אמרנו שאנחנו רוצים את כל מה שקשור ליריות להכניס לקלאס שהוא יהיה פארנט קלאס שלנו הקלאס אבא קלאס אמא לא יודע איך שבא לכם.
אז בואו נעשה את זה בוא נתחיל מליצור את הסקריפט אז כפתור ימני יייט סי שרפ סקריפט וזה שוטינג קרקטר או קר בקיצור לא בוא נכתוב קראקטר כדאי שיהיה ברור לא לחסוך יותר מדי בשמות אז עכשיו אני הולך לפלייר קונטרולר שלי ואני לוקח את הבולט פריפאב בולט ספון פוינט.
אני לוקח אותם גוזר אותם לקלאס הזה ואת זה אני גם גוזר ותכף אנחנו נראה מה אנחנו עושים איתו לשוטינג קראקטר לא צריך סטאט לא צריך אפדייט אנחנו יהיה לנו public. ווייד שוט בולט ופה אני אגדיר אני העתקתי את זה גם את הבולט אינסטנס שכחתי אני רואה בולט אינסטנס וזהו למעשה רק אני צריך להגדיר פה שזה יורש משוטינג קרקטר וגם האנמי שלנו יורש משוטינג קרקטר ועכשיו בואו נחזור לכאן ונראה
מה קרה לנו. אנחנו הולכים לפלייר עכשיו אני את כל אלה לא מעניין אותי אוקיי אז כמו שאנחנו רואים הוא ידע לזהות לבד את השמות של המשתנים והוא לא היינו צריכים לגרור מחדש את הפריפאב ואת הספונט פוינט כי בעצם זה אותם משתנים למרות שהוא יורש אותם מהקלאס הפרנט שלו.
ובאנאמי שלי יש לי פה בולט פריפאב ובולט ספונט פוינט אז בולט פריפאב אני גורר את זה ובולט ספונט פוינט עוד לא יצרתי. אז אני עושה פה כפתור ימני, יהיה איט אמפטי, נקרא לו בולט ספון ואני לוחץ על W ואני מקבל את המיקום שלו ואני יכול להזיז אותו לאן שאני רוצה ואני חוזר לכאן בשביל לגרור את הבולט
ספון. שימו לב, שינויים מהפריפאב מופיעים לי בבולד וגם פה אני רואה שהבולט ספון לא שייך לפריפאב אז אני לומד על האנמי ואני לוחץ על הפליי ויופיע לי כאן גם הבולט ספון.
אוקיי אז עכשיו מה שאני רוצה לעשות בבולט קונטרולר שלי זה אני לא רוצה לעשות סט דיירקשן אני רוצה פשוט לשלוח בפלוט את המהירות בציר ה-X כי יש לי בעצם אם נסתכל פה על מה שהעתקנו מהפלייר בשוטינג קרקטר שלחנו לו פה סט דיירקשן פייסינג רייט וטרו שזה משתנה בוליאן שאומר האם זה הפלייר או