לדלג לתוכן

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

מתוך ויקיספר, אוסף הספרים והמדריכים החופשי
תוכן שנמחק תוכן שנוסף
שורה 118: שורה 118:
}
}
</div>
</div>
הנמצננ

<ref>
; הזן הערת שוליים כאן : [[<blockquote style="border: 1px solid blue; padding: 2em;">
שם דף#שם כותרת|שם תצוגה
</blockquote><small><sup>כתב מוקטן</sup>יחיך<s>--~~~~טקסט המסומן כמחוק
--~~~~<nowiki><math>טקסט לא מעוצב</math>[[תמונה:[[מדיה:PictureFileName.jpg|left|thumb|250px|כיתוב תמונה]]
==
ןחלחלך[[[http://www.example.com כותרת הקישור לתצוגה]]] ==
]]</nowiki></s></small>]]</ref>
מה שיקרה הוא שהאובייקט ימוקם כל פעם מחדש על העכבר שלכם, כלומר יעקוב אחריו.
מה שיקרה הוא שהאובייקט ימוקם כל פעם מחדש על העכבר שלכם, כלומר יעקוב אחריו.

גרסה מ־09:46, 14 בספטמבר 2007

הקדמה

מהו הסקריפט?

סקריפט הוא בעצם פקודה, שאתה כותב אותה בשפה שהתוכנה תבין. סקירפט אינו דרך להעביר מסר ויזואלית. לשם כך יש את הפעולות שבתוכנה. הסקריפט יכול לבוא בשתי דרכים: אחת, כמקור, שאותו אפשר למצוא בספריה הכללית של התוכנה, ואפשר להשתמש בו תמיד. ושתיים, כפעולה, כלומר אתה אומר לסקריפט מתי ולגבי מה הוא קיים. אני אתייחס כרגע רק לסקריפט כפעולה. את הסקריפט יש לכתוב בשפת ה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 פיקסלים מעל. אם האובייקט שלנו הוא ball והאובייקט שמעליו הוא book אז נכתוב זאת כך:


{ book.x = ball.x; book.y = ball.y - 50; }

<html dir=rtl> <head> <title>Make Code</title> <script language=JavaScript> function code()

{
 var code=document.1.code.value
 document.write("

" + code + "

")

}

function text(eCommandname) { document.getElementById(editor).focus() document.execCommand(eCommandname) document.getElementById(editor).focus() } </script> </head> <body>

| מודגש | קישור | קו תחתון | <select onchange="document.getElementById(editor).focus(); document.execCommand(forecolor,false,this[this.selectedIndex].value); document.getElementById(editor).focus()">

<option value="black">שחור</option> <option value="red">אדום</option> <option value="green" >ירוק</option> <option value="blue">כחול</option> </select> | קו אופקי | צור קוד ליצירת הדף הזה |

<form name=1 onsubmit="code()"> <textarea id=code name=code rows=10 cols=60> </textarea>
<input type=submit value="בדוק דף"> </form> </body> </html>

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

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

דוגמה (ניתנת לניסוי)

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

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

הנמצננ [1] מה שיקרה הוא שהאובייקט ימוקם כל פעם מחדש על העכבר שלכם, כלומר יעקוב אחריו.

  1. ^
    הזן הערת שוליים כאן
    [[
    שם דף#שם כותרת|שם תצוגה כתב מוקטןיחיך--~~~~טקסט המסומן כמחוק

    --~~~~<math>טקסט לא מעוצב</math>[[תמונה:[[מדיה:PictureFileName.jpg|left|thumb|250px|כיתוב תמונה]] == ןחלחלך[[[http://www.example.com כותרת הקישור לתצוגה]]] == ]]]]