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

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



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

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

  1. נוסיף לאובייקט הפיצוץ של החייזר ארוע מחיקה Gmaker destroy.png ובו נעלה את הניקוד באמצעות פעולת קביעת הניקוד Gmaker set score.png. (לא לשכוח לסמן את תיבת הסימון Relative כדי להוסיף עוד נקודות לניקוד הנוכחי.)
  2. נוסיף גם לאובייקט הפיצוץ של החללית ארוע מחיקה Gmaker destroy.png ובו נקטין את מספר החיים שנותרו באמצעות פעולת קביעת החיים Gmaker lives.png. (לא לשכוח לסמן את תיבת הסימון Relative)
  3. נוסיף שם גם פעולה להשהיה Gmaker sleep.png ואחריה פעולה ליצירת חללית חדשה Gmaker create instance.png באותו מקום שהיה הפיצוץ (קורדינטות 0,0 וסימון Relative).

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


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




כדאי לדעת:

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

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

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

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

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

Gmaker draw score dialog.png

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

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


Gmaker test save.png רואים את הניקוד בחלון המשחק?




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

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

Gmaker test save.png עכשיו רואים יותר טוב?



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

חיים[עריכה]

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

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

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

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

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

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

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


Gmaker test save.png רואים חלליות? מה קורה כשהחללית מתפוצצת?




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

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

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

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

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


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




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

Gmaker draw rect dialog.png

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

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

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



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

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

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

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

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

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

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

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