זהו משחק חלליות שצריכה להרוס את האויבים שלה. למשחק ב-itch.io לחץ כאן : click here
מקשים : Left Arrow- שמאלה , Right Arrow- ימינה , space - לירות
במשימה זו ביצעתי את ההוספות הבאות למשחק: (עשיתי את זה על ה - level 1 scene שבתקייה 4) קישור : click here
1.עשיתי שהשחקן לא יוכל לירות ללא הפסקה אלא צריך לחכות שנייה אחת בין ירייה לירייה.
ב- ClickSpawner script : קישור לסקריפט - click here
הגדרתי את השלושת המשתנים אלו להיות חישוב הזמן מהירייה האחרונה , איפוס הזמן אחרי כל ירייה, להגדיר זמן שאי אפשר לירות בו בין יריה לירייה בהתאמה - כפי שמוצג בתמונה.
לאחר מכן בפונקציה start עשיתי שהזמן מהירייה האחרונה שווה לזמן שלא יכול לירות, כדי שברגע שמתחיל המשחק השחקן לא יצטרך לחכות את השנייה הראשונה כדי לירות אלא ישר יחושב לו שכאילו עבר שנייה ויוכל לירות על התחלת המשחק.
לאחר מכן בפונקציה update עשיתי שהזמן מהירייה האחרונה יתווסף לו הזמן המקורי כדי שישמש לבדיקה אם עבר הזמן דיליי שהגדרנו שאי אפשר לירות או לא. בנוסף עשיתי בדיקה שאומרת שאם לחצנו על מקש הירייה (שאצלנו הוא המקש "space") וגם שאפשר לירות (שהיא פונקציה בוליאנית שבודקת אם עבר הזמן שהגדרנו שאי אפשר לירות או לא, שמוצגת בהמשך) אז תיצור את האוביקט(שזה הלייזר) ותגדיר את המשתנה זמן הירייה האחרונה להיות הערך של איפוס הזמן(שהוא מוגדר להיות כ- 0 בהתחלה כדי שלא יהיה מספרי קסם) וכך מאפסים את הזמן כל פעם אחרי כל ירייה.
כפי שאמרתי, יצרתי פונקציה בוליאנית שתבדוק לנו אם עבר הזמן שהגדרנו שאי אפשר לירות או לא, שעוזרת בפונקצית update.
ב - LaserShooter script : קישור לסקריפט - click here
בסף הכל עשיתי שאחרי שהוא יוצר את האוביקט החדש או בודק אם הוא null ומממש את שאר הפונקציה כפי שהייתה. הבדיקה הזאת חשובה כי אם מנסים לירות מתי שלא עבר הזמן שהגדרנו שאי אפשר לירות אז האוביקט הוא null וזה יעשה שגיאה בלי הבדיקה אז לכן אם הוא null נחזיר null.
2.שינוי אחד מקורי שהוספתי זה שעשיתי שכל פעם שהשחקן או הלייזר מתנגש באויב יש פיצוץ.
יצרתי מחלקה שנקראת explotion שכל מה שעושה זה להשמיד את האוביקט.
בנוסף יצרתי עוד מחלקה בשם EnemyCollideBoom שתעשה שברגע שיש פגיעה בין השחקן לאויב או הליזר לאויב אז נראה פיצוץ ושני האוביקטים יושמדו.
שמתי את ה scripts גם על האויב ועל הלייזר.






