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 -
.14באגים ידועים בתוכנת גיים מייקר
'באג' זה תקלה בתוכנה.
גם בתוכנת גיים מייקר יש באגים .אחד הבאגים שקיימים בגרסת 8.0
גורם להודעת שגיאה .הבאג נגרם בגלל שתוכנת גיים מייקר קוראת
לאירוע Drawלפני האירוע Createשל האובייקט .וגרוע מכך שזה קורה
לכל האובייקטים.
תיאור המקרה:
באובייקט controllerמגדירים משתנה בשם global.health1באירוע
,createומשתמשים בו באירוע כדי לצייר אותו על המסך .בגלל הבאג
התוכנה קוראת קודם לאירוע drawואז למעשה מנסה לצייר משתנה
שלא הוגדר .כתוצאה מכך מופיעה הודעת שגיאה .לצערי ,אין פתרון
פשוט לבעיה הזו ולכן נתגבר עליה באמצעות פתרון 'מלוכלך'.
הפתרון המלוכלך:
נשתמש במשתנה גלובאלי קיים של גיים מייקר כמשתנה מצב (בוליאני),
שיגדיר לנו האם אנחנו במצב לפני או אחרי הקריאה לאירוע .Create
נשתמש במשתנה healthשאותו גיים מייקר מייצר לבד ,והוא משתנה
גלובאלי אז נוכל להשתמש בו .המשתנה הזה מקבל את הערך 1באופן
אוטומטי בתחילת המשחק .גם את זה ננצל לטובת הפתרון המלוכלך
שלנו.
באירוע createנשנה את הערך של healthל – .0
באירוע drawנבדוק אם הערך שך healthהוא 0כדי להחליט אם לצייר
את המשתנה .global.health1התוספת לפתרון הבאג הזה ייראה כך:
אירוע :Create
- 24 -