תכנות לילדים באמצעות Game Maker/פונג/צעד 10: תוספת למתקדמים
תוספת זאת מיועדת לשחקנים שרוצים לשפר את יכולת בניית המשחק שלהם.
הזזת המחבט באמצעות העכבר
[עריכה]התוספת הזו תכלול פקודות בתכנות; בשלב זה לא נשתולל יותר מדי ונוסיף רק פקודת תכנות אחת פשוטה.
מטרת הפקודה להחליף את השליטה בתנועת המחבט , מהמקשים לעכבר.
לצורך כך , גש לדף האירועים של המחבט והסר את האירועים שבודקים לחיצה על המקשים ומזיזים את המחבט (האירועים אשר הוספת בצעד 3).
לאחר מכן הוסף אירוע חדש , אירוע צעד . אירוע זה מתרחש בדיוק לפני כל פעם שהמשחק הולך לצייר את המחבט, וזהו זמן טוב לעדכן את מיקום המחבט.
כדאי לדעת: שימוש בצעדים יילמד במהלך יצירת המשחק "פקמן". בקצרה: המשחק מבצע פעולות כמו תנועה כל צעד. היחס בין מהירות של אובייקטים לבין צעדים יוסבר בהמשך. מהירות המשחק הרגילה היא 30 צעדים לשנייה, וניתן לשנות אותה דרך הגדרות החדר. |
אנו נוסיף פעולה אשר תשנה את מיקום המחבט בעזרת שינוי ערך משתנה של המחבט.
אנו נשנה את מיקום המחבט על ידי קביעת ערך חדש עבור המשתנה x.
המשתנה x מיצג את מיקום המחבט לרוחב החדר (המשתנה y מיצג את מיקום המחבט לאורך החדר) - אנו נכוון אותו לפי ערך מיקום העכבר אשר נימצא במשתנה אחר הנקרא mouse_x.
בשביל לשנות את הערך של המשתנה x צריך להוסיף פעולה , שנמצאת בלשונית control: .
בשלב זה יש למלא את הדף בהתאם
כעת ניתן להריץ את המשחק ולבדוק שאכן המחבט זז על פי העכבר.
אולם התנועה אינה יפה ולא רציפה. על מנת שהמחבט יעקוב אחרי העכבר ניתן לשפר את ההצבה במשתנה x.
וכעת להסבר.
x+(mouse_x-x)/5
הנוסחה שנראת קצת מסובכת, היא די פשוטה.
mouse_x-x - הוא המרחק בין מקום שהעכבר נמצא לבין המקום שהמחבט נימצא.
במידה ואנו רוצים שהמחבט ירדוף אחרי העכבר אז נוסיף למיקום המחבט רק חלק מהמרחק הזה. לדוגמה במקרה שלנו נחלק אותו 5 ונוסיף את החמישית הזאת למיקום המחבט - שכאמור נמצא ב x. בצעד הבא של המשחק (אירוע שקורה כל פעם שהמשחק מעדכן את התמונה ) יפעל שוב הארוע שלנו ויצמצם את מרחק בין העכבר למחבט שוב בחמישית. בצורה זאת נקבל מחבט שרודף אחרי העכבר. ככל שנחלק במספר יותר גדול , כך ייקח למחבט יותר זמן להגיע למיקום העכבר.
פונקציה חדשה לקביעת הכיוון – choose
[עריכה]זוכרים את הפונקצה random והפונקציה random_range שהשתמשנו בהן כדי לקבל כיוון אקראי לכדור בתחילת המשחק? נלמד דרך נוספת לעשות זאת, שנותנת לנו יותר שליטה.
במקום 225+random(90) או random_range(225,315) שכתבנו בתור כיוון לכדור כל פעם שהוא מתחיל את התנועה, נכתוב את השורה הבאה:
choose(277,265,310,315,240,250,230)
בנוסחה הזאת אפשר לכתוב עד 16 מספרים שונים, ולהפסיק כל פעם ברווח ביניהם. Game Maker יבחר כל פעם אחד מהם. בדרך זו נוכל לקבוע מתוך אילו מספרים תיבחר הזוית, לפי הצרכים שלנו. אפשר לשנות אותם כרצונך.
שינוי גודל החדר
[עריכה]חדר חדש שנוצר בGame Maker מקבל גובה של 480 פיקסלים ורוחב של 640 פיקסלים. מאז שהתפתחה התוכנה, הטכנולוגיה של צגי המחשב התפתחה, וכיום ניתן להציג בכל המסכים לפחות עד גובה של 720 פיקסל ורוחב של 1280. כיוון שקשה לשחק במשחק הזה במסך כל כך רחב, כדאי להגדיל את החדר רק פי אחד וחצי לאורך ולרוחב - לגובה של 720 ולרוחב של 960 פיקסלים.
- לכו לחלון תכונות החדר.
- עברו ללשונית settings.
- שנו את הערך שכתוב בשדה Width ל-960.
- שנו את הערך שכתוב בשדה Height ל-720.
עכשיו תורכם: אחרי שינוי גודל החדר, יהיה צריך להתאים כמה רכיבים במשחק לגודלו החדש:
|
הרץ ובדוק. חזור על התהליך כמה פעמים, עד שתמצא גודל מחבט ומהירות מחבט שתהיה מרוצה מהם.
מצב מסך מלא
[עריכה]הגדירו שיהיה ניתן לעבור למצב מסך מלא ובחזרה למצב חלון בלחיצה על כפתור הרווח (spacebar).
- הגדירו מאורע שיקרה בלחיצה על כפתור הרווח ( - space).
- הוסיפו את הפעולה "set fullscreen" (קבע מצב מסך מלא):
- ניתן לקבוע שלושה מצבים לפעולה הזאת (ראו תמונה): הראשון, switch, יחליף כל פעם למצב אחר - פעם לתצוגת חלון, ופעם לתצוגת מסך מלא, והאחרים קובעים מצב מסויים - שהמשחק יוצג במסך מלא או בחלון. נבחר באפשרות הראשונה.
רקע ומוזיקת רקע
[עריכה]תוכלו להוסיף למשחק רקע ומוזיקת רקע לפי ההוראות שנמצאות כאן.
אפשר גם להוסיף רקע ללוח הניקוד בסוף המשחק: צרו רקע נוסף, ובהגדרות הפקודה Show Highscore (שמציגה את טבלת הניקוד) בחרו תחת הפרמטר background (רקע) ברקע המתאים.
ומה עכשיו?
[עריכה]מומלץ לחזור לעמוד הקודם, ולוודא שהבנתם את כל המונחים שמופיעים שם. חשוב גם לבצע את התרגילים שמופיעים שם, כדי לוודא שהבנתם נכון את כל מה שלמדתם במהלך העבודה על המשחק הזה.
אם סיימתם לעשות זאת, אתם מוזמנים להמשיך למשחק הבא: פק-מן.