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

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


אירועים[עריכה]

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

  1. לדעת מתי המשתמש לוחץ על חץ.
  2. כשזה קורה, להזיז את המחבט.

Game Makerיודע לשים לב מה עושה המשתמש בכל רגע, והוא שולח על כך הודעות לכל האובייקטים: "שימו לב! המשתמש לחץ על חץ!" או "תראו, המשתמש הקליק בעכבר!". (הוא שם לב גם לדברים שהאובייקטים במשחק עושים ולא המשתמש - נכיר אותם בהמשך.) כל דבר כזה שקורה במשחק נקרא event (אֵוֵונְט) - ארוע. יש המון סוגים של ארועים, ורוב האובייקטים מתעלמים מרוב הארועים.

Gmaker bat object.png

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

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

Gmaker event area.png

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

Gmaker key.png ארוע מקש (Keyboard) מסמן שהמשתמש לוחץ על מקש. האירוע הזה קורה מרגע שהמשתמש התחיל ללחוץ על המקש, וחוזר שוב ושוב כל עוד המשתמש ממשיך ללחוץ.

Gmaker key down.png ארוע לחיצה (Key Press) מסמן שהמשתמש התחיל ללחוץ על מקש. האירוע הזה קורה רק כשהמשתמש מתחיל ללחוץ על המקש, אבל לא קורה שוב עד שהמשתמש לא משחרר את המקש ולוחץ שוב.

Gmaker key up.png ארוע שחרור מקש (Key Release) קורה כשהמשתמש משחרר את המקש שהוא לחץ עליו קודם.

Gmaker left key event.png

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

עכשיו האירוע של לחיצה על חץ שמאלה מופיע ברשימת האירועים של אובייקט המחבט.

פעולות[עריכה]

מימין לרשימת האירועים יש רשימה נוספת: Actions (אַקְשֵנְז) - פעולות. זו רשימת הפעולות שצריך לעשות כשהאירוע קורה. מימין לרשימת הפעולות יש כל מיני כפתורים - כל כפתור כזה מייצג פעולה, ואפשר לגרור אותו עם העכבר לרשימת הפעולות.


כדאי לדעת:

למי שיודע קצת אנגלית: אפשר להצביע עם העכבר על כפתור של פעולה (בלי להקליק) ואחרי רגע יצוץ תיאור של הפעולה.
Gmaker red move button.png

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

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

Gmaker red move dialog.png

לוחצים על הכפתור עם חץ שמאלה כדי שהמחבט יזוז שמאלה, וכותבים 5 בשדה Speed (סְפִּיד) - מהירות.

עכשיו צריך ללחוץ OK, ואז אפשר לראות את פעולת התנועה ברשימת הפעולות.

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

ניסית? מה קרה? מה זה אומר?

Gmaker save.png

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

ארועים נוספים[עריכה]

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


עכשיו תורכם:

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

בשביל שהמחבט יעצור כשמפסיקים ללחוץ על החץ, צריך קודם כל להוסיף לרשימת האירועים שלו אירוע חדש באמצעות הקלקה על הכפתור Add event שמתחת רשימת האירועים, בדיוק כמו שעשינו קודם כשהוספנו את האירוע של לחיצה על החץ. אבל הפעם צריך לבחור באירוע של שחרור מקש. Gmaker key up.png

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

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

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


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




עכשיו תורכם:

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

Gmaker test save.png לא לשכוח להפעיל את המשחק כדי לבדוק שמה שעשית באמת עובד, ואז לשמור את המשחק.




עריכת פעולות[עריכה]

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


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




מצאת מהירות טובה? אז אפשר להמשיך הלאה - צעד 4: הגבול