מסכה ל-sprite ב-Game Maker

את הפוסט הזה אני כותבת בתשובה לשאלתו של ניר: “איך יוצרים mask לספרייט?”

מה זה מסכה (Mask) ומתי משתמשים בה?

מסכה היא הגדרה של איזור לחיץ/פעיל בספרייט. במסכה (Mask) משתמשים כשרוצים להגדיר עבור ספרייט איזור שהוא שונה מצורת הספרייט עצמו. למה צריך להגדיר איזור פעיל שונה עבור הספרייט מצורת הספרייט עצמה? בעיקר עבור בדיקה של התנגשות בין שני אובייקטים.

מסובך? נסביר את זה כך, נניח שיש לכם דמות שנראית כך:

simple sprite

נכון, רוב הדמויות אינן נראות כך, אבל לצורך הדוגמא, חשוב לי להדגיש שבדמות שלנו הידיים אינן נמצאות בקו אחד עם יתר חלקי הגוף (ראש ורגליים). במקרים אחרים זו יכולה להיות גלימה, כובע, חרב או אפילו האף של הדמות שאינם נמצאים בקו אחד עם יתר חלקי הדמות.

בדיקת התנגשות

כאשר אנחנו רוצים לבצע בדיקת התנגשות של הדמות עם פלטפורמה או דמות אחרת, Game Maker בודק בכל פיקסל של הדמות אם יש התנגשות. ולכן כל מקום בו יש קו שחור תהיה התנגשות.

לקריאה נוספת על יצירת משחק פלטפורה ובדיקת התנגשות

במקרה של בדיקת התנגשות עם פלטפורמה, הדמות שלנו תיתלה עם יד אחת על הפלטפורמה וכל יתר חלקי הגוף ישארו באויר. כך בערך:

simple sprite platform

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

simple sprite platform 2

איך עושים את זה? באמצעות Mask.

בסרטון הבא – מדריך קצר להוספת mask ל- sprite במשחק פלטפורמה פשוט.

כתיבת תגובה