לדלג לתוכן

תכנות לילדים באמצעות Game Maker/פק-מן/צעד 1: פקמן

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


הכנה לדרך

[עריכה]

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



כדאי לשמור את המשחק בשם pacman - פקמן.




עכשיו צריך להתחיל להוסיף לו אובייקטים. אלו אובייקטים נצטרך במשחק?

עכשיו תורכם:

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

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

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

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

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

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

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

אובייקט פקמן

[עריכה]

אז בואו ניצור את פקמן. בשביל זה צריך:

  1. להוסיף אובייקט חדש.
  2. לשנות את שמו ל-pacman.
  3. ליצור לו דמות חדשה. ניקח את הפקמן שמחייך אלינו - pacman_stand, מכאן. לחצו על הקישור עם כפתור העכבר הימני, ובחרו "שמירה בשם", "שמירת קישור בשם" או "Save as" (משתנה קצת בין דפדפני אינטרנט).


שקיפות

[עריכה]

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

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

במסך שבו אנחנו בוחרים דמות, Game Maker מאפשר לנו להפוך אחד מהצבעים לשקוף אוטומטית. הוא יבדוק באיזה צבע הפיקסל שבפינה השמאלית למטה של התמונה, ויהפוך את כל הפיקסלים בצבע הזה לשקופים. כדי לעשות זאת, סמנו את Remove Background (רִימוּב בֶּקְגְּרָאוּנְדְּ) - הסר רקע, שמסומן בתמונה בחץ כחול. ככה רק הפקמן יוצג במשחק שלנו, בלי המסגרת שלו.

כדאי גם לסמן Smooth Edges (סְמוּת' אֶדְגְ'סְ) - החלק קצוות, שמסומן בתמונה בחץ כתום. זה יגרום למסגרת של הפקמן להיראות חלקה יותר ויפה יותר.

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

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


רואה את פקמן על המסך?




תנועה באמצעות החצים

[עריכה]

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

עכשיו תורכם:

לתכנת את פקמן כך שינוע בתגובה להקשה על מקשי החצים. באנגלית הם נכתבים כך:
  • Right (רַייט) - ימין
  • Left (לֵפְט) שמאל
  • Up (אַפּ) - למעלה
  • Down (דַאוּן) - למטה

לא לשכוח לוודא שכשלוחצים על כל אחד מהחצים פקמן באמת זז לכיוון המתאים.



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

עכשיו תורכם:

לקבוע את מהירות התנועה של פקמן באמצעות משתנה, שאפשר לקרוא לו move_speed (מוּוְ סְפִּיד) - מהירות תנועה. חשוב לזכור לאתחל את המשתנה הזה בארוע היצירה של פקמן, ולבדוק את המשחק כדי לראות שהשינוי שעשינו באמת עובד.

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


אז בואו ניכנס יותר לעומק לטיפול באיך שפקמן נראה - צעד 2: דמויות מונפשות