-
בשלב הזה בטח הבנתם שאתם מגדירים פונקציה מסויימת
-
בכל פעם שאתם רוצים לעשות אנימציה בתוכנה שלכם, פונקציית ה-"Draw".
-
על מנת להזכיר לכם, הנה תוכנת הרכב המונפש שלנו
-
אז זוכרים שיש לנו "var x = 11״
-
שזוהי נקודת המוצא של הרכב
-
ו-"var draw", שזה המוצא של כל הקוד של הציור שלנו
-
ואז אנחנו משנים את "x" שייגדל ב-3 בכל פעם
-
ואז אנחנו פשוט מתחילים מחדש ו-וואווו! זומי זומי זומי! (כך במקור - ב״ר)
-
עכשיו כשלמדתם איך לעשות פונקציות משלכם,
-
אתם בטח תוהים לעצמכם, ״מה זו הפונקציית draw הזו? היא פונקציה מיוחדת? למה תמיד קוראים לה draw?"
-
ובכן, אלו שאלות מצויינות.
-
תראו, בסביבה שלנו פה באקדמיית קאהן, יש פונקציות ״גלובליות״ מיוחדות.
-
אני קוראת להם ״פונקציות קסם״ אבל זה רק השם שלי לפונקציות האלו.
-
כעקרון כשאנחנו מריצים את התוכנה שלכם, אנחנו מחפשים לראות אם הגדרתם פונקציות מסויימות עם שמות ספציפיים,
-
כמו ״Draw", ואם כן, אנחנו קוראים להן בזמנים מסויימים.
-
למשל, כאשר אתם מגדירים את פונקציית "Draw" בקוד שלכם,
-
אז אנחנו מוצאים את הפונקציה ומסתכלים על הקוד שבתוכה
-
ואנחנו נקרא לקוד הזה שוב ושוב ושוב הכי מהר שנוכל.
-
אם לא תגדירו פונקציית draw, אז לא נקרא לכלום מכיוון שאין למי לקרוא.
-
זה אומר שאם נשנה את שם הפונקציה הזו ל- "drow"
-
- אוקיי, זה לא עבד
-
או ל-"DrawCar", אוקיי, זה לא עבד
-
אז אם נשנה את השם של הפונקציה התוכנה לא תמצא אותה מכיוון שהיא לא נקראת draw יותר
-
אז היא לא תריץ את הקוד הזה שוב ושוב ושוב ואז לא נישאר עם כלום.
-
זה אומר שאתם לא יכולים לקרוא לפונקציות שלכם בשם "Draw" אלא אם כן אתם רוצים שיתייחסו אליהן באופן ספציפי
-
וייקראו להן שוב ושוב ושוב.
-
"Draw" היא לא פונקציית הקסם היחידה
-
יש עוד כמה פונקציות שמגיבות לתנועת העכבר ולחיצות המקשים
-
בוא נסתכל על דוגמא של תוכנת אנימציה אחרת.
-
בואו נניח שהיינו רוצים לצייר כדור צבעוני בכל פעם שהמשתמש מזיז את העכבר שלו.
-
יש לנו את "draw" ואת "Fill" ואת "Ellipse״ ב-"(MouseX, MouseY, 10, 10)"
-
אוקיי, בואו ננסה את זה - או מגניב!
-
יש לנו את הכדור הצבעוני המגניב הזה שמסתובב לו פה.
-
אז הפונקציה הזו, הקוד שבתוך הפונקציה "Draw", ייקרא שוב ושוב
-
בגלל ששמנו אותו בתוך פונקציה שנקראת "Draw"
-
אז הוא ייקרא אפילו אם המשתמש לא מזיז את העכבר. זה נקרא ברגע זה ממש - אפילו שהעכבר שלי לא זז.
-
מסתבר, שיש דרך טובה יותר לעשות את זה שהיא יותר יעילה.
-
מה שאנחנו יכולים לעשות הוא לשנות את הפונקציה "Draw" לפונקציה "mouseMoved״
-
הסביבה שלנו תמיד בודקת תוכנות על מנת לראות אם מוגדרת בהן פונקציית ה-"mouseMoved״
-
אם כן, הפונקציה תיקרא בכל פעם שהמשתמש יזיז את העכבר שלו. אתם יכולים לראות שזה עדיין עובד.
-
אבל, היא לא תיקרא אם המשתמש לא יזיז את העכבר שלו - ברגע שאני אפסיק להזיז את העכבר, היא לא תיקרא יותר.
-
זוכרים שמקודם הייתה לנו את "Draw", הקוד הזה היה נקרא שוב ושוב ושוב, אפילו כשהעכבר לא זז.
-
עכשיו כשאנחנו משתמשים ב-"mouseMoved״ אנחנו קוראים לקוד רק כשאנחנו צריכים אותו - כשהעכבר באמת זז.
-
התוכנה שלנו הרבה יותר יעילה. באופן כללי, אם אתם רוצים לשנות את הפלט של התוכנה שלכם רק כשהעכבר זז
-
אז עדיף להשתמש ב-"mouseMoved״ מאשר ב-"Draw"
-
יש עוד הרבה פונקציות קסם כמו "mouseMoved״,
-
יש את "mousePressed״ ו-"mouseReleased" ו-"keyPressed" ואתם יכולים לקרוא עליהן הכל בתיעוד.
-
הכי חשוב לזכור שאם אתם רוצים להשתמש בפונקצית קסם, זכרו לאיית את שם הפונקציה נכון.
-
אם אתם לא רוצים להשתמש בפונקציות קסם, זכרו לתת לפונקציות שלכם שמות חדשים ושונים.
-
אוקיי, זה הכל! בהצלחה!