את הפוסט הזה אני כותבת בתשובה לשאלתו של ניר: “איך יוצרים mask לספרייט?”
מה זה מסכה (Mask) ומתי משתמשים בה?
מסכה היא הגדרה של איזור לחיץ/פעיל בספרייט. במסכה (Mask) משתמשים כשרוצים להגדיר עבור ספרייט איזור שהוא שונה מצורת הספרייט עצמו. למה צריך להגדיר איזור פעיל שונה עבור הספרייט מצורת הספרייט עצמה? בעיקר עבור בדיקה של התנגשות בין שני אובייקטים.
מסובך? נסביר את זה כך, נניח שיש לכם דמות שנראית כך:
נכון, רוב הדמויות אינן נראות כך, אבל לצורך הדוגמא, חשוב לי להדגיש שבדמות שלנו הידיים אינן נמצאות בקו אחד עם יתר חלקי הגוף (ראש ורגליים). במקרים אחרים זו יכולה להיות גלימה, כובע, חרב או אפילו האף של הדמות שאינם נמצאים בקו אחד עם יתר חלקי הדמות.
בדיקת התנגשות
כאשר אנחנו רוצים לבצע בדיקת התנגשות של הדמות עם פלטפורמה או דמות אחרת, Game Maker בודק בכל פיקסל של הדמות אם יש התנגשות. ולכן כל מקום בו יש קו שחור תהיה התנגשות.
לקריאה נוספת על יצירת משחק פלטפורה ובדיקת התנגשות
במקרה של בדיקת התנגשות עם פלטפורמה, הדמות שלנו תיתלה עם יד אחת על הפלטפורמה וכל יתר חלקי הגוף ישארו באויר. כך בערך:
ואילו אנחנו רוצים שרק כשהחלק המרכזי של הדמות מנגש עם הפלטפורמה, הדמות תעמוד עליה. החלק המרכזי הוא החלק המסומן באדום בתמונה הבאה:
איך עושים את זה? באמצעות Mask.
בסרטון הבא – מדריך קצר להוספת mask ל- sprite במשחק פלטפורמה פשוט.