תכנות לילדים באמצעות Game Maker/פונג/צעד 4: הגבול

מתוך ויקיספר, אוסף הספרים והמדריכים החופשי
קפיצה לניווט קפיצה לחיפוש


אובייקט יציב[עריכה]

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

ניצור אובייקט חדש בהקלקה על הכדור הכחול בסרגל הכלים. Gmaker add object.png

חלון תכונות האובייקט נפתח לנו בצד ימין. דבר ראשון, ניתן לאובייקט שם שיתאר אותו. בפעם הקודמת שינינו את שם האובייקט ברשימת המשאבים, אבל הפעם נשנה אותו בחלון תכונות האובייקט: השדה שבפינה השמאלית למעלה מציין את שם האובייקט - Name (נֵיים). כרגע כתוב שם object1. את זה צריך להחליף בשם יותר משמעותי: border (בּוֹרְדֵר) - גבול. האובייקט הזה יסמן את גבול אזור המשחק וימנע מהמחבט לצאת ממנו.

מתחת לשם האובייקט יש שתי תיבות סימון, שליד הימנית מביניהן כתובה המילה Solid (סוֹלִיד) - יציב, נייח. בדרך כלל כשאומרים solid מתכוונים למשהו מוצק, אבל ב-Game Makerהכוונה היא לאובייקט יציב, שלא זז. אובייקט הגבול שלנו בהחלט צריך להיות יציב, ולכן צריך לסמן את תיבת הסימון הזאת. Gmaker solid.png

כדאי לדעת:

למה חשוב להגדיר שאובייקט הוא יציב? זה משנה כשאובייקטים אחרים מתנגשים באובייקט הזה - אם הוא יציב אז הם לא יכולים להזיז אותו.

עכשיו צריך לתת לו דמות - sprite. לוחצים על New בשביל ליצור לו דמות חדשה, כמו שעשינו קודם לאובייקט המחבט. אבל הפעם לא ניקח דמות מוכנה מקובץ, אלא נצייר אותה בעצמנו - ממילא זו לא צריכה להיות יצירת אמנות; ריבוע פשוט יספיק בהחלט.

ציור דמות[עריכה]

בשביל לצייר את הדמות צריך להקליק על הכפתור האמצעי בחלון תכונות הדמות: Edit Sprite (אדיט סְפְּרַייט) - ערוך דמות.

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

כדאי לדעת:

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

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


כדאי לדעת:

פיקסל הוא יחידת התצוגה הקטנה ביותר על מסך המחשב: ריבוע קטן של צבע. התמונות והצורות שאנחנו רואים על המסך בנויות מרשת גדולה של פיקסלים בצבעים שונים. המילה פיקסל באה מצירוף המלים Picture Element (פִּיקְצֵ'ר אֵלֵמֵנְט) - יחידת תמונה.

בשביל לשנות את גודל התמונה צריך ללכת לתפריט Transform (טְרַנְסְפוֹרם) - לשנות. שם צריך לבחור בפקודה השלישית מלמטה: Resize Canvas (רִיסַייז קַנְוַוס) - שינוי גודל הבד (כמו בד שציירים מציירים עליו). בחלון האפשרויות שיפתח צריך לכתוב 16 במקום 32 ולאשר בלחיצה על אנטר.

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

אחרי שגמרת, צריך להקליק על הסימן וי הירוק שלמעלה לאישור, וזה יחזיר אותך לחלון עריכת הדמות. גם כאן מקליקים על ה-וי הירוק, וזה מחזיר לחלון תכונות הדמות. רגע! לא ללחוץ עוד על אישור, כי יש כאן תכונה שצריך לשנות!

שקיפות[עריכה]

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

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

Gmaker transparent.png

כל זה טוב ויפה בשביל דמויות כמו מחבט. אבל לאובייקט הגבול שלנו אנחנו דווקא רוצים צורה מלבנית, בלי פינות מעוגלות ובלי חלקים שקופים. לכן צריך להוריד את הסימון מתיבת הסימון Transparent (טְרַנְסְפַּרֵנְט) - שקוף. ככה כל התמונה תוצג ולא יהיו בה חלקים שקופים.

עכשיו אפשר להקליק על OK.

התנגשות[עריכה]

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

אז בואו נוסיף למחבט שלנו טיפול בארוע התנגשות עם הגבול:

  1. לעשות הקלקה-כפולה על אובייקט המחבט ברשימת המשאבים שמשמאל, ואז נקבל מימין את חלון תכונות האובייקט של המחבט.
  2. להקליק על Add event.
  3. מבין סוגי הארועים, לבחור בארוע ההתנגשות Collision: Gmaker collision.png.
  4. עכשיו צץ תפריט שמאפשר לבחור על איזו התנגשות מדובר. לבחור בהתנגשות עם אובייקט גבול, כמובן.

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

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

Gmaker room border object.png

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

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

מופע[עריכה]

מופע (או באנגלית instance - אִינְסְטַנְס) זה האופן שבו אובייקט מופיע במשחק. למופע יש מיקום, קורים לו ארועים (כמו התנגשות), והוא יכול להופיע או להעלם. האובייקט הוא זה שקובע איך המופעים שלו יתנהגו: איך הם יגיבו לארועים, או איזו דמות תהיה להם.

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

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


Gmaker test save.png עכשיו הגיע הזמן לשחק במשחק כדי לבדוק שהגבול באמת עוצר את המחבט כמו שצריך. אז ללחוץ על כפתור ההפעלה הירוק, ואם הכל עבד טוב - לשמור את המשחק.




אחרי שגמרת עם הגבול, אפשר להתקדם לאובייקט הבא - צעד 5: הכדור