תכנות לילדים באמצעות Game Maker/חייזרים/צעד 7: ניקוד וחיים



חישוב ניקוד וחיים עריכה

בואו נוסיף ניקוד וחיים:

  1. נוסיף לאובייקט הפיצוץ של החייזר ארוע מחיקה   ובו נעלה את הניקוד באמצעות פעולת קביעת הניקוד  . (לא לשכוח לסמן את תיבת הסימון Relative כדי להוסיף עוד נקודות לניקוד הנוכחי.)
  2. נוסיף גם לאובייקט הפיצוץ של החללית ארוע מחיקה   ובו נקטין את מספר החיים שנותרו באמצעות פעולת קביעת החיים  . (לא לשכוח לסמן את תיבת הסימון Relative)
  3. נוסיף שם גם פעולה להשהיה   ואחריה פעולה ליצירת חללית חדשה   באותו מקום שהיה הפיצוץ (קורדינטות 0,0 וסימון Relative).

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


  עכשיו אפשר לצבור נקודות ולחזור לשחק אחרי שהחללית התפוצצה.




 

כדאי לדעת:

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

תצוגת ניקוד וחיים עריכה

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

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

לאובייקט הזה נוסיף את ארוע הציור  . איזה פעולות נבצע בארוע הזה? נתחיל מהצגת הניקוד: נוסיף את פעולת ציור הניקוד שנמצאת בלשונית score  .

 

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

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


  רואים את הניקוד בחלון המשחק?




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

  1. לחזור לארוע הציור של לוח הניקוד.
  2. לעבור ללשונית draw (דרוֹוּ) - צייר. כל הפעולות בלשונית הזו נועדו לציור.
  3. לשים לפני פעולת ציור הניקוד את פעולת קביעת צבע הציור  .
  4. בחלון אפשרויות הפעולה, לבחור לבן או צבע בהיר אחר.

  עכשיו רואים יותר טוב?



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

חיים עריכה

בואו נוסיף גם תצוגת חיים.

קודם כל, נאתחל את מספר החיים:

  1. נוסיף לאובייקט לוח הניקוד ארוע Game start  .
  2. בארוע הזה נוסיף את פעולת קביעת החיים   ובה נאתחל את מספר החיים ל-3.
  3. נוסיף גם את הפעולה לקביעת כותרת החלון   ובה נסמן לא להראות (don't show) את הניקוד, כי הוא ממילא מוצג בחלון עצמו.

בהזדמנות זו, נטפל גם במה שקורה כשנגמרים החיים:

  1. נוסיף לאובייקט לוח החיים את ארוע No more lives  .
  2. בארוע הזה נשים את הפעולות להצגת טבלת האלופים   ולהתחלת המשחק מחדש  .

עכשיו נלך חזרה לארוע הציור, ונוסיף את הפעולה להצגת מספר החיים כתמונה, שנמצאת בלשונית score:  . בחלון אפשרויות הפעולה נבחר בדמות החללית בשדה image. את הקורדינטות נצטרך לשנות, כדי לא לצייר את החיים על גבי הניקוד: בשדה y נכתוב 20 ואז החיים יוצגו מתחת לניקוד. לא לשכוח לסמן את תיבת הסימון Relative כדי שהחיים יוצגו איפה שהצבנו את לוח הניקוד.

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


  רואים חלליות? מה קורה כשהחללית מתפוצצת?




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

דמות לתצוגת החיים עריכה

בשביל להציג חללית קטנה, צריך ליצור דמות מתאימה:

  1. לשכפל את דמות החללית (ברשימת המשאבים משמאל, להקליק על דמות החללית באמצעות הכפתור הימני של העכבר, ובתפריט שצץ לבחור Duplicate).
  2. לשנות את שם הדמות המשוכפלת לשם אחר, למשל small_spaceship_sprite (סְמוֹל סְפֵּייסְשִיפּ סְפְּרַייט) - דמות חללית קטנה.
  3. להקליק על הכפתור לעריכת הדמות Edit Sprite.
  4. בחלון עריכת הדמות, ללכת לתפריט Transform ולבחור Scale כדי לשנות את גודל הציור.
  5.  
    לבחור גודל קטן יותר לתמונה. אפשר לכתוב בדיוק את הגודל בשדות מצד ימין, או פשוט לכתוב 50 במקום 100 בשדות האחוזים משמאל, כדי להקטין את התמונה לחצי הגודל. בסוף להקיש אנטר או להקליק על OK.
  6. ללכת לתפריט Images ולבחור Crop כדי לקצץ את השוליים הריקים של התמונה. בשדה Border אפשר לכתוב להשאיר גבול של פיקסל אחד סביב התמונה.
  7. להקליק על ה-וי הירוק כדי לחזור לחלון הרגיל של Game Maker.

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


  עכשיו החלליות שמראות כמה חיים נשארו קטנות יותר מהחללית האמיתית של המשחק.




עוד פעולות ציור עריכה

 

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

  1. נוסיף לארוע הציור של לוח הניקוד את הפעולה לציור מלבן  .
  2. בחלון אפשרויות הפעולה, נכתוב איפה לצייר את המלבן: x1 ו-x2 אומרים באיזה מרחק מהקצה השמאלי יהיו הקוים האנכיים, y1 ו-y2 אומרים באיזה מרחק מהקצה העליון יהיו הקוים האופקיים. השדה filled אומר אם למלא את המלבן בצבע או לא. נשנה את השדה הזה ל-outline כדי לצייר רק את מסגרת המלבן. לא לשכוח לסמן Relative כדי שהמלבן יופיע איפה שלוח הניקוד מוצב.

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



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

עדכון רשימת העבודה עריכה

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

  • חללית שנעה מימין לשמאל
  • יריות
  • אויבים
  • מכשולים
  • חיזוקים - מגן, תחמושת

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

אז רשימת העבודה המעודכנת היא:

  • חללית שנעה מימין לשמאל
  • יריות
  • אויבים
  • חיזוקים - מגן, תחמושת
  • אויבים נוספים

הגענו לחיזוקים. נתחיל עם משהו מחזק במיוחד - צעד 8: פצצות חכמות