Return to Video

פונקציות קסם

  • 0:00 - 0:05
    בשלב הזה בטח הבנתם שאתם מגדירים פונקציה מסויימת
  • 0:05 - 0:09
    בכל פעם שאתם רוצים לעשות אנימציה בתוכנה שלכם, פונקציית ה-"Draw".
  • 0:09 - 0:14
    על מנת להזכיר לכם, הנה תוכנת הרכב המונפש שלנו
  • 0:14 - 0:17
    אז זוכרים שיש לנו "var x = 11״
  • 0:17 - 0:18
    שזוהי נקודת המוצא של הרכב
  • 0:18 - 0:20
    ו-"var draw", שזה המוצא של כל הקוד של הציור שלנו
  • 0:20 - 0:23
    ואז אנחנו משנים את "x" שייגדל ב-3 בכל פעם
  • 0:23 - 0:28
    ואז אנחנו פשוט מתחילים מחדש ו-וואווו! זומי זומי זומי! (כך במקור - ב״ר)
  • 0:28 - 0:31
    עכשיו כשלמדתם איך לעשות פונקציות משלכם,
  • 0:31 - 0:38
    אתם בטח תוהים לעצמכם, ״מה זו הפונקציית draw הזו? היא פונקציה מיוחדת? למה תמיד קוראים לה draw?"
  • 0:38 - 0:40
    ובכן, אלו שאלות מצויינות.
  • 0:40 - 0:45
    תראו, בסביבה שלנו פה באקדמיית קאהן, יש פונקציות ״גלובליות״ מיוחדות.
  • 0:45 - 0:50
    אני קוראת להם ״פונקציות קסם״ אבל זה רק השם שלי לפונקציות האלו.
  • 0:50 - 0:55
    כעקרון כשאנחנו מריצים את התוכנה שלכם, אנחנו מחפשים לראות אם הגדרתם פונקציות מסויימות עם שמות ספציפיים,
  • 0:55 - 1:00
    כמו ״Draw", ואם כן, אנחנו קוראים להן בזמנים מסויימים.
  • 1:00 - 1:03
    למשל, כאשר אתם מגדירים את פונקציית "Draw" בקוד שלכם,
  • 1:03 - 1:07
    אז אנחנו מוצאים את הפונקציה ומסתכלים על הקוד שבתוכה
  • 1:07 - 1:12
    ואנחנו נקרא לקוד הזה שוב ושוב ושוב הכי מהר שנוכל.
  • 1:12 - 1:17
    אם לא תגדירו פונקציית draw, אז לא נקרא לכלום מכיוון שאין למי לקרוא.
  • 1:17 - 1:23
    זה אומר שאם נשנה את שם הפונקציה הזו ל- "drow"
  • 1:23 - 1:26
    - אוקיי, זה לא עבד
  • 1:26 - 1:29
    או ל-"DrawCar", אוקיי, זה לא עבד
  • 1:29 - 1:35
    אז אם נשנה את השם של הפונקציה התוכנה לא תמצא אותה מכיוון שהיא לא נקראת draw יותר
  • 1:35 - 1:39
    אז היא לא תריץ את הקוד הזה שוב ושוב ושוב ואז לא נישאר עם כלום.
  • 1:39 - 1:46
    זה אומר שאתם לא יכולים לקרוא לפונקציות שלכם בשם "Draw" אלא אם כן אתם רוצים שיתייחסו אליהן באופן ספציפי
  • 1:46 - 1:49
    וייקראו להן שוב ושוב ושוב.
  • 1:49 - 1:52
    "Draw" היא לא פונקציית הקסם היחידה
  • 1:52 - 1:58
    יש עוד כמה פונקציות שמגיבות לתנועת העכבר ולחיצות המקשים
  • 1:58 - 2:03
    בוא נסתכל על דוגמא של תוכנת אנימציה אחרת.
  • 2:03 - 2:13
    בואו נניח שהיינו רוצים לצייר כדור צבעוני בכל פעם שהמשתמש מזיז את העכבר שלו.
  • 2:13 - 2:20
    יש לנו את "draw" ואת "Fill" ואת "Ellipse״ ב-"(MouseX, MouseY, 10, 10)"
  • 2:20 - 2:21
    אוקיי, בואו ננסה את זה - או מגניב!
  • 2:21 - 2:25
    יש לנו את הכדור הצבעוני המגניב הזה שמסתובב לו פה.
  • 2:25 - 2:30
    אז הפונקציה הזו, הקוד שבתוך הפונקציה "Draw", ייקרא שוב ושוב
  • 2:30 - 2:34
    בגלל ששמנו אותו בתוך פונקציה שנקראת "Draw"
  • 2:34 - 2:40
    אז הוא ייקרא אפילו אם המשתמש לא מזיז את העכבר. זה נקרא ברגע זה ממש - אפילו שהעכבר שלי לא זז.
  • 2:40 - 2:47
    מסתבר, שיש דרך טובה יותר לעשות את זה שהיא יותר יעילה.
  • 2:47 - 2:53
    מה שאנחנו יכולים לעשות הוא לשנות את הפונקציה "Draw" לפונקציה "mouseMoved״
  • 2:53 - 2:59
    הסביבה שלנו תמיד בודקת תוכנות על מנת לראות אם מוגדרת בהן פונקציית ה-"mouseMoved״
  • 2:59 - 3:06
    אם כן, הפונקציה תיקרא בכל פעם שהמשתמש יזיז את העכבר שלו. אתם יכולים לראות שזה עדיין עובד.
  • 3:06 - 3:14
    אבל, היא לא תיקרא אם המשתמש לא יזיז את העכבר שלו - ברגע שאני אפסיק להזיז את העכבר, היא לא תיקרא יותר.
  • 3:14 - 3:22
    זוכרים שמקודם הייתה לנו את "Draw", הקוד הזה היה נקרא שוב ושוב ושוב, אפילו כשהעכבר לא זז.
  • 3:22 - 3:27
    עכשיו כשאנחנו משתמשים ב-"mouseMoved״ אנחנו קוראים לקוד רק כשאנחנו צריכים אותו - כשהעכבר באמת זז.
  • 3:27 - 3:34
    התוכנה שלנו הרבה יותר יעילה. באופן כללי, אם אתם רוצים לשנות את הפלט של התוכנה שלכם רק כשהעכבר זז
  • 3:34 - 3:40
    אז עדיף להשתמש ב-"mouseMoved״ מאשר ב-"Draw"
  • 3:40 - 3:44
    יש עוד הרבה פונקציות קסם כמו "mouseMoved״,
  • 3:44 - 3:50
    יש את "mousePressed״ ו-"mouseReleased" ו-"keyPressed" ואתם יכולים לקרוא עליהן הכל בתיעוד.
  • 3:50 - 3:55
    הכי חשוב לזכור שאם אתם רוצים להשתמש בפונקצית קסם, זכרו לאיית את שם הפונקציה נכון.
  • 3:55 - 4:00
    אם אתם לא רוצים להשתמש בפונקציות קסם, זכרו לתת לפונקציות שלכם שמות חדשים ושונים.
  • 4:00 - 4:02
    אוקיי, זה הכל! בהצלחה!
Title:
פונקציות קסם
Description:

ניתן לצפות בסרטים נוספים בכתובת:
https://www.khanacademy.org/cs/programming/

more » « less
Video Language:
English
Duration:
04:02

Hebrew subtitles

Revisions