06th פבר2011

Time Line ב- Game maker

by יעל חקשוריאן

Time Line ב-Game Maker מיועד עבור יצירת אירועים בזמן מוגדר מראש.

מה ההבדל בין  אירוע השעון המעורר – alarm ל- time line? הראשון מיועד עבור יצירת אירוע אחד בזמן נתון, ואילו time line מאפשר לנו לקבוע רצף של אירועים בזמן נתון. בנוסף נוכל להשתמש ברצף האירועים האלו בכל פעם שנרצה ע"י הפעלת ה-time line מבלי ליצור אותם שנית.

אז איך עובדים עם time line? בואו נתחיל.

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

הגדרת התרחשות הפעולות

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

  • אוביקט דמות השומר תתחיל לפטרל בחדר (תזוזה ימינה ושמאלה)
  • תידלק אש בכניסה

יצירת דמויות ואוביקטים

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

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

הוספת time line

בסרגל הכלים לחצו על אייקון הוספת time line.

time Line
יפתח חלון המאפיינים של time line:

לחצו על Add +  להוספת אירוע

create time line

יפתח חלון הגדרת רגע (moment) עבור האירוע:

add moment

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

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

create time line

תוכלו להוסיף עוד אירועים ועוד רגעים (step) שיקרו באותו time line.

מאפיינים נוספים:
Merge – ממזג את הפעולות של הזמנים שנבחרו.
Shift – מוסיף מספר צעדים לכל הזמנים שנבחרו.

לאחר הגדרת Time Line ניתן להקצות אותו למופע של אובייקט כלשהו ע"י הפעולה Set time line.

הוספת אירועי התנגשות

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

1. התנגשות של הדמות הראשית עם החומה – תגרום לעצירת התנועה של הדמות, ואירוע התנגשות של הדמות המשנית תגרום לשינוי התנועה שלה לכיוון הנגדי.

2. הוסיפו אירוע התנגשות לדמות הראשית עם החומה, לאירוע זה שייכו פעולת Start moving in a direction וקבעו את התנועה לעצירה (סימון הריבוע האמצעי ומהירות 0).

stop

הוסיפו אירוע התנגשות לדמות המשנית עם החומה, לאירוע זה שייכו פעולת Revers horizontal.

3. כעת נוסיף אירוע התנגשות של הדמות הראשית עם הדלת, ובמקום לשייך לה את כל רצף הפעולות שאנחנו רוצים (תזוזה של הדמות המשנית, יצירת מופעים של אוביקט האש) נוסיף רק שתי פעולות: הריסת המופע של הדלת (כדי שהדמות תוכל להיכנס למבנה) והפעלת רצף הפעולות שב-time line שהגדרנו קודם. אירוע ה-time line נמצא בלשונית main2.

שימו לב שניתן להגדיר מאפיינים נוספים ל-time line, כמו למשל אם יתחיל מיד או יתבצע בלופ.

time Line5

יצירת החדר

צרו את החדר לפי המבנה הבא: (לא חייב להיות זהה לחלוטין, אבל חשוב להגדיר את הדמות הראשית מחוץ למבנה, ואת הדמות המשנית בתוך המבנה)

room

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

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

כתיבת תגובה

האימייל לא יוצג באתר. שדות החובה מסומנים *