תכנות לילדים באמצעות Game Maker/בניית סקריפטים

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


הקדמה[עריכה]

מהו הסקריפט?[עריכה]

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

כמה ביטויים ומשתנים בסיסיים[עריכה]

  • x - נקודת הציון x של האובייקט
  • y - נקודת הציון y של האובייקט
  • hspeed - המהירות ההורזנטלית (מאוזנת), פיקסלים לשנייה
  • vspeed - המהירות הורטיקלית (אנכית), פיקסלים לשנייה
  • direction - הכיוון הנוכחי של אובייקט בתנועה במעלות (0-360)
  • speed - המהירות הנוכחית בכיוון מסויים
  • visible - בין אם האובייקט הוא נראה (1) או בלתי נראה (0)
  • score - הערך הנוכחי של הניקוד
  • lives - המספר הנוכחי של החיים
  • health - הבריאות נוכחית (0-100)
  • mouse_x - מיקום ה-x של העכבר
  • mouse_y - מיקום ה-y של העכבר

השימוש שלהם בסקריפט[עריכה]

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

אז איך בונים את הסקריפט?[עריכה]

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

איך משתמשים בסקריפט בתור פעולה[עריכה]

כדי להשתמש בסקריפט בתור פעולה, צרו אובייקט, הגדירו אירוע, ואז בפעולה, בטאב control, גררו את "Execute a piece of code". שם אתם כותבים את הסקריפט שלכם. אל תשכחו למקם את האובייקט שבו יש את הסקריפט בחדר, רק כך הוא יפעל. עוד הערה: אם אתם רוצים שהסקריפט יפעל תמיד, שימו את הפעולה באירוע Step.

דוגמה (ניתנת לניסוי)[עריכה]

צרו משחק חדש. צרו ספרייט, ציירו או יבאו תמונה לספרייט. צרו לספרייט אובייקט. צרו אירוע חדש, Create. שם הפעילו שעון, Alarm 0, כוונו אותו ל-1. צרו אירוע חדש, Alarm 0, ובו כוונו את השעון מחדש ל-1, כך שיפעיל אותו מחדש כל פעם. לכו לcontrol וגררו את Execute a piece of code. בסקריפט כתבו:

{ ball.x = mouse_x; ball.y = mouse_y; }

מה שיקרה הוא שהאובייקט ימוקם כל פעם מחדש על העכבר שלכם, כלומר יעקוב אחריו.