Page 39 - developers guide fb 15102016
P. 39
‫‪ – U IN GAME‬מדריך למפתח‬

‫‪ .21‬פצצה שהורסת את כל המופעים‬
‫הקרובים למקור הפיצוץ‬

‫ישנם מצבים בהם נרצה שפעולה מסוימת תפעל על כמה מופעים של‬
‫אובייקט מסוים‪ .‬נדגים כיצד לעשות זאת באמצעות אובייקט של פצצה‪,‬‬

‫שהורסת כל מה שקרוב אליה אך לא הורסת מה שרחוק‪.‬‬

‫הדרך לעשות זאת היא לעבור על כל האובייקטים באמצעות לולאה‪,‬‬
‫ולבדוק עבור כל אובייקט האם הוא מספיק קרוב לפיצוץ‪ .‬אם כן אז‬
‫להרוס אותו‪ ,‬אם לא אז לא לעשות לו כלום‪.‬‬

‫בקטע הקוד הבא נניח שקיים ‪ object0‬שהוא פצצה וקיים ‪ object1‬שהוא‬
‫קיר שממנו יוצאים הרבה מופעים‪ .‬אנו נהרוס את המופעים של הקיר‬

‫שהם במרחק של ‪ 41‬פיקסלים מהפצצה‪ .‬את הקוד הזה נוסיף לאובייקט‬
‫הפצצה‪.‬‬

‫)‪with (object1‬‬
‫{‬

‫)‪if (distance_to_object(other)<40‬‬
‫{‬

‫)(‪instance_destroy‬‬
‫}‬
‫}‬

‫בטבלה הבאה נסביר איך פועל הקוד‪ ,‬שורה אחר שורה‪:‬‬

‫)‪with (object1‬‬ ‫זה אומר שמה שמופיע בבלוק הבא‬
‫יקרה לכל המופעים מסוג ‪.object1‬‬

‫‪if‬‬ ‫המונח ‪ other‬מתייחס פה למופע של‬
‫)‪(distance_to_object(other)<40‬‬ ‫‪ object1‬ולכן הפונקציה בודקת אם‬
‫המרחק בין האובייקט הנוכחי‪,‬‬
‫)(‪Instance_destroy‬‬
‫‪ object0‬לאובייקט האחר‪ object1 ,‬הוא‬
‫קטן מ‪ .41-‬אם כן אז יתקיים הבלוק‬
‫שמופיע לאחר מכן‪.‬‬

‫הפונקציה הזו הורסת אובייקט‪ .‬היא‬
‫נמצאת בתוך בלוק של ‪ with‬ולכן‬
‫מתייחסת להריסת המופע של‬
‫‪.object1‬‬

‫‪- 39 -‬‬
   34   35   36   37   38   39   40