[Script Info] Title: [Events] Format: Layer, Start, End, Style, Name, MarginL, MarginR, MarginV, Effect, Text Dialogue: 0,0:00:00.12,0:00:03.18,Default,,0000,0000,0000,,בשלב זה אתה יכול להבין שאתה כבר מגדיר Dialogue: 0,0:00:03.18,0:00:07.20,Default,,0000,0000,0000,,פונקצייה פרטית בכל זמן \Nשאתה רוצה להנפיש את התוכנית שלך Dialogue: 0,0:00:07.20,0:00:09.19,Default,,0000,0000,0000,,פונקציית הציור (draw function). Dialogue: 0,0:00:09.19,0:00:13.44,Default,,0000,0000,0000,,להזכירך, זו תוכנית \Nהמכונית המונפשת שלנו שוב. Dialogue: 0,0:00:13.44,0:00:16.99,Default,,0000,0000,0000,,יש לה המשתנה הזה ששמו\Nהוא x, הוא מתחיל ב-11. Dialogue: 0,0:00:16.99,0:00:22.65,Default,,0000,0000,0000,,ואז בתוך פונקציית draw,\Nהוא מצייר את המכונית במשתנה x זה Dialogue: 0,0:00:22.65,0:00:26.64,Default,,0000,0000,0000,,ואז היא מוסיפה 3 למשתנה x זה כל פעם Dialogue: 0,0:00:26.64,0:00:28.50,Default,,0000,0000,0000,,ואלו התוצאות במכונית Dialogue: 0,0:00:28.50,0:00:32.45,Default,,0000,0000,0000,,שנעה 3 פיקסלים על המסך ברציפות. Dialogue: 0,0:00:32.45,0:00:34.72,Default,,0000,0000,0000,,אז, כך זה עובד. Dialogue: 0,0:00:34.72,0:00:37.68,Default,,0000,0000,0000,,אבל עכשיו כשלמדת איך להכין פונקציה בעצמך, Dialogue: 0,0:00:37.68,0:00:41.58,Default,,0000,0000,0000,,ייתכן שאתה תוהה,\Nמה לגבי פונקציית draw? Dialogue: 0,0:00:41.58,0:00:44.11,Default,,0000,0000,0000,,למה היא תמיד נקראת 'draw'? Dialogue: 0,0:00:44.11,0:00:45.90,Default,,0000,0000,0000,,האם היא פונקציה מותאמת אישית? Dialogue: 0,0:00:45.90,0:00:48.89,Default,,0000,0000,0000,,ואלו הן שאלות מאוד טובות. Dialogue: 0,0:00:48.89,0:00:51.98,Default,,0000,0000,0000,,אתה רואה, בספריית "ProcessingJS", Dialogue: 0,0:00:51.98,0:00:56.13,Default,,0000,0000,0000,,הפונקציה 'draw' היא אחת מתוך כמה פונקציות\Nמוגדרות מראש Dialogue: 0,0:00:56.13,0:01:01.01,Default,,0000,0000,0000,,מה שנותן לתוכניות שלנו יותר שליטה \Nעל מה שקורה עם הקנבס. Dialogue: 0,0:01:01.01,0:01:04.83,Default,,0000,0000,0000,,פונקציה מוגדרת מראש היא פונקציה\Nשכבר הוגדרה Dialogue: 0,0:01:04.83,0:01:07.21,Default,,0000,0000,0000,,על ידי ספריית ה-ProcessingJS. Dialogue: 0,0:01:07.21,0:01:11.15,Default,,0000,0000,0000,,אבל לעיתים קרובות זה מתחיל \Nבהגדרה ריקה (של הפונקציה). Dialogue: 0,0:01:11.15,0:01:17.04,Default,,0000,0000,0000,,למשל, בספריית ה-ProcessingJS, \Nיש קוד שנראה כמו זה: Dialogue: 0,0:01:17.04,0:01:19.43,Default,,0000,0000,0000,,{} () var draw = function Dialogue: 0,0:01:19.43,0:01:23.27,Default,,0000,0000,0000,,ואז הקוד רק ריק. ריק לחלוטין. Dialogue: 0,0:01:23.27,0:01:28.62,Default,,0000,0000,0000,,עכשיו, אנחנו טוענים את ספריית \Nה-ProcessingJS \Nלתוך כל תוכנית פה באקדמיית קהאן. Dialogue: 0,0:01:28.62,0:01:30.90,Default,,0000,0000,0000,,אז את הקוד הזה מעולם לא ראית. Dialogue: 0,0:01:30.90,0:01:33.65,Default,,0000,0000,0000,,אבל תאמין לי, הוא קיים. Dialogue: 0,0:01:33.65,0:01:41.05,Default,,0000,0000,0000,,עכשיו אני אעיר שהקוד יצא מפני\Nש-ProcessingJS כבר עושה לנו את זה. Dialogue: 0,0:01:41.05,0:01:45.31,Default,,0000,0000,0000,,עכשיו כשאתה מגדיר שוב 'draw'\Nבתוכנית הפרטית שלך, Dialogue: 0,0:01:45.31,0:01:49.81,Default,,0000,0000,0000,,ההגדרה החדשה "דורסת"\Nאת ההגדרה הישנה הריקה. Dialogue: 0,0:01:49.81,0:01:51.63,Default,,0000,0000,0000,,ועכשיו הפונקציה 'draw' Dialogue: 0,0:01:51.63,0:01:55.50,Default,,0000,0000,0000,,עושה למעשה דברים מרגשים,\Nכמו לצייר מכונית. Dialogue: 0,0:01:55.50,0:02:01.38,Default,,0000,0000,0000,,עכשיו השאלה היא, למה הפונקציה 'draw' \Nנקראת שוב ושוב? Dialogue: 0,0:02:01.38,0:02:05.96,Default,,0000,0000,0000,,טוב, בספריית ה-ProcessingJS \Nיש רק קוד Dialogue: 0,0:02:05.96,0:02:11.11,Default,,0000,0000,0000,,שמגדיר לדפדפן לעשות זאת ולחזור ולחזור, Dialogue: 0,0:02:11.11,0:02:13.100,Default,,0000,0000,0000,,שוב ושוב ושוב. Dialogue: 0,0:02:13.100,0:02:19.24,Default,,0000,0000,0000,,אנחנו צריכים לשנות לפונקציה 'draw' את\Nשמה, כי זה השם של הפונקציה Dialogue: 0,0:02:19.24,0:02:22.07,Default,,0000,0000,0000,,ש-ProcessingJS קוראת לו שוב. Dialogue: 0,0:02:22.07,0:02:27.54,Default,,0000,0000,0000,,אם נשנה את שמה, כמו \Nשנשנה את זה ל 'drawCar'. Dialogue: 0,0:02:27.54,0:02:30.73,Default,,0000,0000,0000,,ובהתחלה נקבל שגיאה 'ללא הגדרה',\Nאז אנחנו צריכים לומר 'var drawCar'. Dialogue: 0,0:02:33.73,0:02:34.73,Default,,0000,0000,0000,,תוכל לראות, אם משנים Dialogue: 0,0:02:34.73,0:02:37.09,Default,,0000,0000,0000,,שם ל-drawCar, אנחנו לא יכולים\Nלראות אנימציה כלשהי. Dialogue: 0,0:02:37.09,0:02:39.65,Default,,0000,0000,0000,,וזה כך מפני שהפונקציה לא נקראת עוד Dialogue: 0,0:02:39.65,0:02:44.69,Default,,0000,0000,0000,,כי היא לא נקראת 'draw'. Dialogue: 0,0:02:44.69,0:02:47.19,Default,,0000,0000,0000,,אז אנו צריכים לשים את הקוד\Nשאנו רוצים לקרוא לו Dialogue: 0,0:02:47.19,0:02:50.80,Default,,0000,0000,0000,,בתוך פונקציה שתהיה מאויתת 'draw' בדיוק. Dialogue: 0,0:02:50.80,0:02:55.91,Default,,0000,0000,0000,,אז אני רק אעשה זאת שוב,\Nואני רק אקרא ל-'drawCar' מכאן. Dialogue: 0,0:02:55.91,0:03:00.59,Default,,0000,0000,0000,,אהה! קיבלנו את זה בחזרה. Dialogue: 0,0:03:00.59,0:03:03.24,Default,,0000,0000,0000,,בסדר, אז זה צריך להיות בשם 'draw', Dialogue: 0,0:03:03.24,0:03:07.21,Default,,0000,0000,0000,,וזה גם אומר שאתה חייב לקרוא\Nלפונקציה המותאמת אישית בשם 'draw', Dialogue: 0,0:03:07.21,0:03:12.97,Default,,0000,0000,0000,,אלא אם כן אתה רוצה לטפל בהם \Nבאופן מיוחד, ולקרוא להם שוב ושוב. Dialogue: 0,0:03:12.97,0:03:18.23,Default,,0000,0000,0000,,וגם תזכור, אתה לא יכול ליצור\Nפונקציות רבות בשם 'draw'. Dialogue: 0,0:03:18.23,0:03:23.53,Default,,0000,0000,0000,,רק ההגדרה האחרונה תיחשב. Dialogue: 0,0:03:23.53,0:03:27.89,Default,,0000,0000,0000,,אם יש לנו 'rect' פה בפנים-- Dialogue: 0,0:03:27.89,0:03:30.81,Default,,0000,0000,0000,,אז עכשיו אנו יכולים לראות שהמכונית\Nשלנו נראית שוב ושוב, Dialogue: 0,0:03:30.81,0:03:35.14,Default,,0000,0000,0000,,ורק ה'rect' נראה, כי רק ההגדרה\Nהאחרונה נחשבת. Dialogue: 0,0:03:35.14,0:03:40.50,Default,,0000,0000,0000,,אז בואו ניפטר מזה. Dialogue: 0,0:03:40.50,0:03:43.17,Default,,0000,0000,0000,,עכשיו הפונקציה 'draw' היא לא רק \Nפונקציה מוגדרת מראש Dialogue: 0,0:03:43.17,0:03:48.29,Default,,0000,0000,0000,,שיש לה פעולות מיוחדות כאלו. Dialogue: 0,0:03:48.29,0:03:50.50,Default,,0000,0000,0000,,יש גם אוסף של פונקציות Dialogue: 0,0:03:50.50,0:03:52.68,Default,,0000,0000,0000,,כדי להגיב לאינטרקציות עכבר\Nולחיצות במקלדת. Dialogue: 0,0:03:52.68,0:03:56.69,Default,,0000,0000,0000,,בואו נאמר שאנחנו רוצים שתהיה לנו תוכנית\Nשתצייר אליפסה צבועה Dialogue: 0,0:03:56.69,0:04:01.62,Default,,0000,0000,0000,,בכל מקום שהמשתמש מעביר את העכבר... Dialogue: 0,0:04:01.62,0:04:04.72,Default,,0000,0000,0000,,אז אנו יכולים לעשות זאת עם פונקציה כמו זו. Dialogue: 0,0:04:04.72,0:04:09.04,Default,,0000,0000,0000,,[הקלדה] Dialogue: 0,0:04:09.04,0:04:15.67,Default,,0000,0000,0000,,בסדר, או, נפלא. Dialogue: 0,0:04:19.100,0:04:22.54,Default,,0000,0000,0000,,עכשיו, הפונקציה הזאת נקראת שוב ושוב, Dialogue: 0,0:04:22.54,0:04:27.22,Default,,0000,0000,0000,,גם כשהמשתמש לא מזיז את העכבר,\Nכמו עכשיו. Dialogue: 0,0:04:27.22,0:04:31.18,Default,,0000,0000,0000,,והתוכנית הזאת, היא עובדת, היא עושה \Nמה שאנו רוצים שתעשה Dialogue: 0,0:04:31.18,0:04:34.70,Default,,0000,0000,0000,,היא מציירת את האליפסות היפות האלה\Nבכל רחבי המסך. Dialogue: 0,0:04:34.70,0:04:37.90,Default,,0000,0000,0000,,אבל כפי שמתברר, יש דרך טובה יותר\Nלעשות את אותו הדבר. Dialogue: 0,0:04:37.90,0:04:42.11,Default,,0000,0000,0000,,זה יעיל יותר. Dialogue: 0,0:04:42.11,0:04:44.29,Default,,0000,0000,0000,,אז אנחנו יכולים לשנות את 'draw'\Nל-mouseMoved. Dialogue: 0,0:04:44.29,0:04:51.89,Default,,0000,0000,0000,,וזה עדיין עובד. Dialogue: 0,0:04:51.89,0:04:54.58,Default,,0000,0000,0000,,אתה רואה, הסביבה שלנו בודקת תוכניות Dialogue: 0,0:04:54.58,0:04:58.36,Default,,0000,0000,0000,,כדי לראות אם יש להן פונקציה מוגדרת\NmouseMoved Dialogue: 0,0:04:58.36,0:05:00.75,Default,,0000,0000,0000,,ואם כך, הסביבה קוראת לפונקציה הזאת\Nבכל הזזת עכבר. Dialogue: 0,0:05:00.75,0:05:05.46,Default,,0000,0000,0000,,אבל היא לעולם לא תיקרא\Nאם המשתמש לא מזיז את העכבר. Dialogue: 0,0:05:05.46,0:05:10.03,Default,,0000,0000,0000,,אז לפני זה קראנו את הקוד\Nשבפונקציית 'draw' Dialogue: 0,0:05:10.03,0:05:13.42,Default,,0000,0000,0000,,כשאנחנו לא צריכים זאת,\Nשוב ושוב Dialogue: 0,0:05:13.42,0:05:15.91,Default,,0000,0000,0000,,ועכשיו, אנחנו קוראים את הקוד\Nשל mouseMoved רק Dialogue: 0,0:05:15.91,0:05:20.26,Default,,0000,0000,0000,,כשהערכים של mouseX או mouseY משתנים. Dialogue: 0,0:05:20.26,0:05:23.29,Default,,0000,0000,0000,,אז התוכנית שלנו היא יותר יעילה, \Nוזה דבר טוב. Dialogue: 0,0:05:23.29,0:05:27.31,Default,,0000,0000,0000,,באופן כללי, אם אתה רק רוצה לשנות\Nאת פלט התוכנית שלך Dialogue: 0,0:05:27.31,0:05:30.73,Default,,0000,0000,0000,,כשהמשתמש מזיז את העכבר,\Nאז זה יותר טוב לשים את הקוד Dialogue: 0,0:05:30.73,0:05:34.52,Default,,0000,0000,0000,,בתוך פונקציית 'mouseMoved'. Dialogue: 0,0:05:34.52,0:05:37.21,Default,,0000,0000,0000,,ויש עוד אוסף של פונקציות מוגדרות מראש \Nכמו זאת, Dialogue: 0,0:05:37.21,0:05:40.99,Default,,0000,0000,0000,,ואתה יכול לראות דוגמאות נוספות \Nב-Documentation. Dialogue: 0,0:05:40.99,0:05:44.66,Default,,0000,0000,0000,,כמו mousePressed, mouseReleasedm \NkeyPressed, ועוד. Dialogue: 0,0:05:44.66,0:05:48.87,Default,,0000,0000,0000,,אז תזכור, אם אתה רוצה להשתמש\Nבפונקציה מיוחדת מוגדרת מראש, Dialogue: 0,0:05:48.87,0:05:53.99,Default,,0000,0000,0000,,כמו mouseMoved או draw, איית אותה נכון,\Nוהשתמש בה נכון. Dialogue: 0,0:05:53.99,0:05:59.24,Default,,0000,0000,0000,,אם לא, תוודא שאתה מביא לפונקציות\Nהמותאמות אישית שלך Dialogue: 0,0:05:59.24,0:06:03.41,Default,,0000,0000,0000,,שם חדש, ייחודי. Dialogue: 0,0:06:03.41,0:06:05.97,Default,,0000,0000,0000,,בהצלחה!