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

‫‪ .14‬באגים ידועים בתוכנת גיים מייקר‬

‫'באג' זה תקלה בתוכנה‪.‬‬
‫גם בתוכנת גיים מייקר יש באגים‪ .‬אחד הבאגים שקיימים בגרסת ‪8.0‬‬

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

‫לכל האובייקטים‪.‬‬
‫תיאור המקרה‪:‬‬
‫באובייקט ‪ controller‬מגדירים משתנה בשם ‪ global.health1‬באירוע‬
‫‪ ,create‬ומשתמשים בו באירוע כדי לצייר אותו על המסך‪ .‬בגלל הבאג‬
‫התוכנה קוראת קודם לאירוע ‪ draw‬ואז למעשה מנסה לצייר משתנה‬
‫שלא הוגדר‪ .‬כתוצאה מכך מופיעה הודעת שגיאה‪ .‬לצערי‪ ,‬אין פתרון‬
‫פשוט לבעיה הזו ולכן נתגבר עליה באמצעות פתרון 'מלוכלך'‪.‬‬
‫הפתרון המלוכלך‪:‬‬
‫נשתמש במשתנה גלובאלי קיים של גיים מייקר כמשתנה מצב (בוליאני)‪,‬‬
‫שיגדיר לנו האם אנחנו במצב לפני או אחרי הקריאה לאירוע ‪.Create‬‬
‫נשתמש במשתנה ‪ health‬שאותו גיים מייקר מייצר לבד‪ ,‬והוא משתנה‬
‫גלובאלי אז נוכל להשתמש בו‪ .‬המשתנה הזה מקבל את הערך ‪ 1‬באופן‬
‫אוטומטי בתחילת המשחק‪ .‬גם את זה ננצל לטובת הפתרון המלוכלך‬

‫שלנו‪.‬‬
‫באירוע ‪ create‬נשנה את הערך של ‪ health‬ל – ‪.0‬‬
‫באירוע ‪ draw‬נבדוק אם הערך שך ‪ health‬הוא ‪ 0‬כדי להחליט אם לצייר‬
‫את המשתנה ‪ .global.health1‬התוספת לפתרון הבאג הזה ייראה כך‪:‬‬

‫אירוע ‪:Create‬‬

‫‪- 24 -‬‬
   19   20   21   22   23   24   25   26   27   28   29