[Script Info] Title: [Events] Format: Layer, Start, End, Style, Name, MarginL, MarginR, MarginV, Effect, Text Dialogue: 0,0:00:01.27,0:00:03.74,Default,,0000,0000,0000,,עד כה, ראינו איך ליצור מערך ואיך לגשת אליו. Dialogue: 0,0:00:03.74,0:00:12.86,Default,,0000,0000,0000,,אבל, בדיוק כמו משתנים אחרים, אחד הדברים\Nהמגניבים לגבי מערכים הוא היכולת לשנות אותם\Nבאופן דינמי בזמן שהתוכנית רצה. Dialogue: 0,0:00:12.86,0:00:15.80,Default,,0000,0000,0000,,אוקיי, תנו לי רגע להראות לכם למה אני מתכוונת. Dialogue: 0,0:00:15.80,0:00:21.17,Default,,0000,0000,0000,,יש לנו כאן תוכנית שמציגה את Hopper\Nשמחזיק כמה בלונים - ממש חמוד. Dialogue: 0,0:00:21.17,0:00:29.40,Default,,0000,0000,0000,,איך שזה עובד זה שיש לנו מערך של מיקומים\NxPositions שיש בו שני מספרים, שאומרים\Nהיכן אנחנו רוצים להציג את הבלונים. Dialogue: 0,0:00:29.40,0:00:35.47,Default,,0000,0000,0000,,ואז כאן למטה יש לנו לולאה,\Nוהלולאה הזו עוברת על כל האיברים של המערך Dialogue: 0,0:00:35.47,0:00:46.81,Default,,0000,0000,0000,,ועבור כל אחד מהם, היא מציררת קו ממיקום\Nה-x הזה ליד של Hopper,\Nואז מציירת אליפסה במיקום ה-x הזה בגודל\N30x40 פיקסלים, וזה הבלון שלנו. Dialogue: 0,0:00:46.81,0:00:58.34,Default,,0000,0000,0000,,אוקיי, מגניב. עכשיו שאנו רואים איך זה עובד,\Nאנחנו יודעים שאם נרצה שעוד בלון יופיע,\Nאנחנו יכולים פשוט להוסיף עוד מספר למערך.\Nלמשל 300. Dialogue: 0,0:00:58.34,0:01:02.06,Default,,0000,0000,0000,,יפה. עכשיו יש לנו שלושה בלונים, ו-Hopper שמח. Dialogue: 0,0:01:02.06,0:01:10.93,Default,,0000,0000,0000,,אבל נניח שאנחנו רוצים לתת למשתמש שלא\Nיודע לתכנת את היכולת להוסיף בלונים חדשים. Dialogue: 0,0:01:10.93,0:01:17.80,Default,,0000,0000,0000,,אז רצינו לתת את התוכנית למשתמש ולומר לו -\N"היי, אתה יכול ללחוץ איפה שאתה רוצה את הבלון,\Nוהבלון יופיע." Dialogue: 0,0:01:17.80,0:01:20.69,Default,,0000,0000,0000,,זה יהיה מגניב, לא? אני חושבת שכן. Dialogue: 0,0:01:20.69,0:01:26.64,Default,,0000,0000,0000,,אז, איך נעשה את זה? אנחנו רוצים\Nשהתוכנית שלנו תשתנה עם הזמן, נכון? Dialogue: 0,0:01:26.64,0:01:30.28,Default,,0000,0000,0000,,בכל פעם שהמשתמש לוחץ,\Nבלון יופיע במקום שהוא לחץ. Dialogue: 0,0:01:30.28,0:01:37.64,Default,,0000,0000,0000,,נתחיל בלהזיז את כל הקוד הזה לתוך\Nפונקציית ציור (draw) כדי שיהיה קל\Nלשנות את זה עם הזמן. Dialogue: 0,0:01:37.64,0:01:43.18,Default,,0000,0000,0000,,נזיז את זה למטה ונוסיף הזחה ימינה. אוקיי, נהדר. Dialogue: 0,0:01:43.18,0:01:48.40,Default,,0000,0000,0000,,עכשיו נרצה לבדוק,\Nהאם המשתמש לוחץ על העכבר ברגע זה? Dialogue: 0,0:01:48.40,0:01:55.34,Default,,0000,0000,0000,,אנחנו יכולים לעשות זאת עם תנאי if.\Nאז נרשום if (mouseIsPressed),\Nואז נעשה משהו. Dialogue: 0,0:01:55.34,0:02:01.18,Default,,0000,0000,0000,,מה נעשה? אם העכבר לחוץ,\Nאנחנו רוצים איכשהו להוסיף מספר למערך הזה. Dialogue: 0,0:02:01.18,0:02:04.23,Default,,0000,0000,0000,,בואו נחזיר אותו למצב שיכיל רק שני איברים. אוקיי. Dialogue: 0,0:02:04.23,0:02:10.46,Default,,0000,0000,0000,,אנחנו רוצים להוסיף מספר למערך הזה איכשהו.\Nאני אראה לכם דרך אחת שנוכל לעשות זאת. Dialogue: 0,0:02:10.46,0:02:18.51,Default,,0000,0000,0000,,נרשום\NxPositions[2] = mouseX; Dialogue: 0,0:02:18.51,0:02:21.68,Default,,0000,0000,0000,,אוקיי, תנו לי רק להראות לכם שזה עובד Dialogue: 0,0:02:21.68,0:02:26.64,Default,,0000,0000,0000,,לחצתי, והנה יש לי בלון. אז מה זה עשה? Dialogue: 0,0:02:26.64,0:02:38.24,Default,,0000,0000,0000,,זה אומר שאנחנו מסתכלים על המערך,\Nומוצאים את האיבר במקום ה-2, ותזכרו שזה האיבר\Nהשלישי כי המערכים שלנו מתחילים מאפס. Dialogue: 0,0:02:38.24,0:02:41.74,Default,,0000,0000,0000,,אבל אתם רואים שאין איבר שלישי, נכון?\Nאין שום דבר במקום הזה. Dialogue: 0,0:02:41.74,0:02:45.90,Default,,0000,0000,0000,,אז כתוב כאן שנמצא את המקום הזה,\Nונשים בו את mouseX. Dialogue: 0,0:02:45.90,0:02:51.36,Default,,0000,0000,0000,,לא היה שם כלום, ועכשיו במקום כלום\Nזה יכיל את mouseX. Dialogue: 0,0:02:51.36,0:03:00.13,Default,,0000,0000,0000,,עכשיו המערך שלנו מכיל שלושה פריטים,\Nולולאת ה-for הזו כאן למטה עוברת עליו,\Nומציירת גם את הבלון השלישי הזה Dialogue: 0,0:03:00.13,0:03:04.03,Default,,0000,0000,0000,,די מגניב, עכשיו אני אלחץ עוד ונראה איך זה עובד. Dialogue: 0,0:03:04.03,0:03:10.69,Default,,0000,0000,0000,,אתם רואים שבכל פעם שאני לוחצת, זה מצייר\Nאת הבלון השלישי במקום שלחצתי עם העכבר Dialogue: 0,0:03:10.69,0:03:18.94,Default,,0000,0000,0000,,זה כי אנחנו כל הזמן דורסים את המקום ה-2,\Nהדבר שנמצא באינדקס 2. Dialogue: 0,0:03:18.94,0:03:22.90,Default,,0000,0000,0000,,אנחנו כל הזמן דורסים אותו עם ה-mouseX הנוכחי. Dialogue: 0,0:03:22.90,0:03:34.57,Default,,0000,0000,0000,,אז תמיד יהיו לנו רק שלושה בלונים כי יש לנו\Nאת זה במקום ה-0, את זה במקום ה-1,\Nואנחנו תמיד משנים את המקום ה-2. אוקיי? Dialogue: 0,0:03:34.57,0:03:40.24,Default,,0000,0000,0000,,זה מגניב, אבל מה שאנחנו באמת רוצים זה לתת\Nלמשתמש ליצור המון בלונים, נכון? Dialogue: 0,0:03:40.24,0:03:43.52,Default,,0000,0000,0000,,כך שבכל פעם שהוא לוחץ, יש בלון חדש. Dialogue: 0,0:03:43.52,0:03:50.85,Default,,0000,0000,0000,,זה אומר שאנחנו צריכים כל הזמן להגדיל\Nאת האינדקס של האיבר במערך\Nשאנחנו שומרים בו את המיקום. Dialogue: 0,0:03:50.85,0:03:56.11,Default,,0000,0000,0000,,אנחנו לא רוצים שהוא יהיה 2 כל הזמן,\Nאנחנו רוצים שהוא יהיה 2, ואז 3, ואחר כך 4,\Nואז 5, ואז 6, וכן הלאה. Dialogue: 0,0:03:56.11,0:04:01.02,Default,,0000,0000,0000,,אנחנו יכולים לעשות את זה באמצעות משתנה סופר -\Ncounter. נרשום newInd = 2; Dialogue: 0,0:04:01.02,0:04:05.52,Default,,0000,0000,0000,,זה מה שהוא יתחיל איתו,\Nואז כאן נרשום newInd במקום 2. Dialogue: 0,0:04:05.52,0:04:10.27,Default,,0000,0000,0000,,ואז מה שאנחנו באמת רוצים לעשות זה\Nלרשום \NnewInd++ Dialogue: 0,0:04:10.27,0:04:16.23,Default,,0000,0000,0000,,כלומר בכל פעם נוסיף לו 1.\Nהוא יתחיל בתור 2, ואז יהפוך ל-3, ואז ל-4. Dialogue: 0,0:04:16.23,0:04:18.47,Default,,0000,0000,0000,,בכל פעם שלוחצים על העכבר, האינדקס יגדל.\Nבואו ננסה את זה. Dialogue: 0,0:04:18.47,0:04:22.01,Default,,0000,0000,0000,,יופי! המון בלונים. מסיבת בלונים! Dialogue: 0,0:04:22.01,0:04:32.11,Default,,0000,0000,0000,,זה מגניב, נכון? אבל זו לא הדרך הכי טובה\Nלעשות את זה, כי מסתבר שלהוסיף פריטים\Nלמערך זה משהו שנרצה לעשות הרבה Dialogue: 0,0:04:32.11,0:04:35.02,Default,,0000,0000,0000,,כך שיש לנו דרך פשוטה יותר לעשות זאת. Dialogue: 0,0:04:35.02,0:04:42.77,Default,,0000,0000,0000,,תנו לי רק למחוק את הדברים שעשינו.\Nאוקיי, אנחנו לא צריכים את זה יותר.\Nנהפוך את להערה. Dialogue: 0,0:04:42.77,0:04:50.100,Default,,0000,0000,0000,,אוקיי, אז עושים את זה כך -\NxPositions.push ואז mouseX. Dialogue: 0,0:04:50.100,0:04:56.57,Default,,0000,0000,0000,,אז מה שעשינו כאן זה לקרוא למתודה push\Nעל המערך xPositions. Dialogue: 0,0:04:56.57,0:05:05.23,Default,,0000,0000,0000,,כלומר אנחנו קוראים לסוג של פקודה על המערך.\Nאנחנו אומרים למערך, "היי, תכניס את הערך החדש\Nהזה, שנמצא ב-mouseX, תכניס אותו בסוף המערך". Dialogue: 0,0:05:05.23,0:05:12.47,Default,,0000,0000,0000,,בכל פעם שקוראים לקוד הזה, בכל פעם שהמשתמש\Nלוחץ על העכבר, אנחנו בודקים מההמיקום של העכבר\NmouseX ונוסיף את המספר לסוף המערך. Dialogue: 0,0:05:12.47,0:05:16.77,Default,,0000,0000,0000,,כך שהמערך אמור לגדול ולגדול ולגדול.\Nבואו נתחיל מחדש וננסה את זה. Dialogue: 0,0:05:16.77,0:05:22.68,Default,,0000,0000,0000,,יפה, זה עבד!\Nוזה הרבה פחות קוד ממה שהיה לנו קודם. אוקיי? Dialogue: 0,0:05:22.68,0:05:27.63,Default,,0000,0000,0000,,רוב הזמן, אתם תרצו להשתמש ב-push אם\Nאתם הולכים להוסיף דברים למערך בצורה הזאת. Dialogue: 0,0:05:27.63,0:05:32.18,Default,,0000,0000,0000,,וזה די מגניב כי אתם יכולים פשוט להגדיל\Nאת המערכים עוד ועוד במהלך התוכנית. Dialogue: 0,0:05:32.18,0:05:36.02,Default,,0000,0000,0000,,למשל כשיש לכם אנימציה או כשיש משתמשים\Nשעושים דברים, אתם יכולים לעשות הרבה יותר. Dialogue: 0,0:05:36.02,0:05:41.30,Default,,0000,0000,0000,,אז עד עכשיו ראיתם בערך 90% מהדרכים\Nשבהם כנראה תשתמשו במערכים. Dialogue: 0,0:05:41.30,0:05:47.02,Default,,0000,0000,0000,,אבל יש הרבה דברים אחרים שתוכלו לעשות עם\Nמערכים. אז אם יש לכם שאלות, פשוט שאלו בדיונים. Dialogue: 0,0:05:47.02,0:05:51.00,Default,,0000,0000,0000,,אבל תוודאו שאתם שולטים היטב בכלים הבסיסיים האלו קודם.