0:00:01.252,0:00:04.512 До цих пір ми бачили, як створити масив[br]і отримати доступ до нього. 0:00:04.512,0:00:08.642 Так, як й інші змінні, проте, одина дійсно[br]цікава можливість масивів це те, що ми 0:00:08.642,0:00:12.512 можемо змінювати їх динамічно[br]під час виконання програми. 0:00:12.958,0:00:15.818 Гаразд, дозвольте мені показати вам, що[br]я маю на увазі під цим. 0:00:15.818,0:00:19.818 Отже, у нас є ця програма, що відображає[br]Хопера, що тримає пару повітряних куль; 0:00:19.818,0:00:21.128 надзвичайно милий. 0:00:21.128,0:00:27.758 І це працює так як у нас є цей xPositions [br]масив, що містить два числа, які говорять 0:00:27.758,0:00:29.534 де ми хочемо мати ці повітряні кулі. 0:00:29.534,0:00:35.204 І потім тут у нас є цей цикл, що проходить[br]через кожний елемент в цьому масиві. 0:00:35.204,0:00:41.974 І для кожного з них, він малює лінію від[br]"х"вниз до руки Хопера, а потім малює 0:00:41.974,0:00:46.744 еліпс на "х" що є 30х40 пікселів, і це [br]наша повітряна куля. 0:00:48.032,0:00:52.492 Класно. І тепер ми бачимо, як це працює[br]ми знаємо, що якщо ми хочемо показати 0:00:52.492,0:00:57.305 ще одину повітряну кулю, що ми можемо[br]просто додати номер в масиві, чи не так? 0:00:57.305,0:00:58.255 наприклад 300. 0:00:58.255,0:01:02.206 Гарно. Тепер у нас є три повітряних кулі[br]для щасливого Хопера. 0:01:03.036,0:01:08.646 Але, припустимо, ми хочемо дати можливість[br]користувачеві, який не знає, як кодувати, 0:01:08.646,0:01:10.986 додавати нові повітряні кулі. 0:01:10.986,0:01:14.986 Таким чином, ми хотіли б дати програму[br]користувачеві і сказати: "Ви можете 0:01:14.986,0:01:18.116 натиснути кнопку, де б ви хотіли повітряну[br]кулю, і вона буде відображатися." 0:01:18.116,0:01:20.656 Чи не буде це круто? Я гадаю, що так. 0:01:21.042,0:01:24.972 І як ми повинні це робити? отже, ми[br]хочемо, щоб наша програма змінювалась 0:01:24.972,0:01:26.522 з плином часу, чи не так? 0:01:26.522,0:01:29.852 Кожен раз, коли користувач натисне, [br]повітряна куля з'явиться там. 0:01:30.288,0:01:37.108 Отже, почнемо, перемістиши все у функцію[br]"draw" і це легко змінювати з часу. 0:01:37.108,0:01:42.618 Тому, ми просто перемістимо це вниз сюди[br]і відступимо тут. Чудово. 0:01:43.278,0:01:48.458 І тепер ми хочемо, перевіряти чи [br]користувач натискає мишею прямо зараз? 0:01:48.458,0:01:55.448 Ми можемо зробити це з нашим "if".[br]If(mousePressed), а тоді що будемо робити. 0:01:55.448,0:02:00.068 Так що ж ми будемо робити? Якщо натиснути[br]мишею, то ми хочемо, якось додати число 0:02:00.068,0:02:01.438 до цього масиву. 0:02:01.438,0:02:04.058 І давайте ще раз зробимо лише ці [br]два елементи. Добре. 0:02:04.202,0:02:09.402 Отже, хочемо, додати число до цього масиву[br]якось. І я покажу вам один спосіб, яким ви 0:02:09.402,0:02:10.811 могли б зробити це. 0:02:10.811,0:02:17.801 Таким чином, ми можемо[br]ввести xPositions [2] = mouseX; 0:02:18.170,0:02:21.330 Добре, і дозвольте мені показати вам,[br]як це працює. 0:02:22.255,0:02:26.565 Я натиснула, і я отримала повітряну кулю.[br]Отже як це зроили? 0:02:26.565,0:02:34.045 Це говорить, що xPositions [2] каже знайти[br]цей масив, і знайти елемент на 2 місці, 0:02:34.045,0:02:38.045 і пам'ятайте, що це третій елемент, тому[br]що наші масиви починаються з нуля. 0:02:38.045,0:02:42.045 І якщо поглянете, то немає елемента 3, [br]чи не так? Там немає нічого в цьому місці. 0:02:42.045,0:02:46.045 І він каже, знайти це, а потім внести [br]в нього mouseX 0:02:46.045,0:02:51.225 А так як там нічого немає, значення [br]переходить від нічого до mouseX. 0:02:51.225,0:02:56.355 І тепер наш масив має довжину в 3 елементи[br]і цей цикл for знизу тут, що проходить через 0:02:56.355,0:02:59.815 нього, завершить малювати[br]третю повітряну кулю. 0:03:00.754,0:03:04.064 І це дуже класно, дозвольте мені натиснути[br]ще трохи, щоб показати вам, як це працює. 0:03:04.064,0:03:08.754 Так що ви бачите кожен раз, коли натискаю,[br]він продовжує малювати третю повітряну 0:03:08.754,0:03:11.074 де б я не натиснула мишею. 0:03:11.384,0:03:18.664 І це тому, що ми постійно переписуємо[br]розташування 2 - те що з індексом 2. 0:03:18.664,0:03:22.664 Ми постійно оновлюємо, [br]поточну mouseX. 0:03:22.817,0:03:29.837 Отже, ми матимемо тільки 3 повітряні кулі,[br]тому що одина в позиції 0, ця у 1, і ми 0:03:29.847,0:03:34.267 постійно змінюємо позицію 2. Зрозуміло? 0:03:34.464,0:03:39.324 І це круто але те, що ми дійсно хочемо, це[br]щоб користувач міг зробити купу повітряних 0:03:39.324,0:03:40.324 куль, чи не так? 0:03:40.364,0:03:43.338 Таким чином, кожен раз, коли користувач[br]натисне, з'явиться нова куля. 0:03:43.358,0:03:49.708 Це означає, що ми повинні постійно[br]збільшувати індекс елементу масиву, 0:03:49.708,0:03:50.778 який ми зберігаємо його всередині. 0:03:50.778,0:03:56.338 Ми не хочемо, щоб їх було 2 кожен раз,[br]а щоб було 2, а потім 3, 4, 5, 6 і т.д. 0:03:56.338,0:04:00.558 І ми могли б зробити це, маючи невелику[br]змінну лічильника. Тож введемо newind = 2; 0:04:00.558,0:04:04.558 Це те, з чого вона буде початинатись,[br]а потім ми введемо newind замість 2. 0:04:05.506,0:04:09.479 І тоді те, що ми дійсно хочемо зробити, [br]це ввести newind ++ 0:04:09.479,0:04:14.929 Отже, кожен раз додаючи 1 до цього. ми[br]почнемо як 2, а потім стане 3, а тоді 4. 0:04:14.929,0:04:18.029 Так що кожен раз, натискаючи, вона [br]зростатиме. Так давайте спробуємо це. 0:04:19.101,0:04:21.551 Безліч повітряних куль. [br]Вечірка повітряних куль 0:04:22.032,0:04:28.522 Це чудово, чи не так? Але це не найкращий [br]спосіб зробити це, так як це складається з 0:04:28.522,0:04:32.282 додавання елементів в масив, те що ми[br]хочемо робити багато. 0:04:32.282,0:04:35.172 Таким чином, у нас є набагато простіший [br]спосіб зробити це. 0:04:35.172,0:04:39.062 Отже, дозвольте мені просто видалити це[br]все, що ми зробили. Гаразд, отже, нам не 0:04:39.062,0:04:42.211 потрібно це, і більше не буде потрібно.[br]Ми просто прокоментуємо це. 0:04:42.211,0:04:50.251 Отже, те як ми робимо це, ми вводимо [br]xPositions.push, а потім mouseX. 0:04:51.034,0:04:56.144 Так що, те ми робимо тут ми називаємо[br]методом масив з xPositions. 0:04:56.144,0:05:01.164 Так ми викликаємо команду по масиву. [br]Ми говоримо масиву, "Ей, перемісти це нове 0:05:01.164,0:05:05.164 значення, mouseX, перемісти його на кінець[br]вашого масиву." 0:05:05.164,0:05:09.164 Отже, кожен раз коли це викликається, [br]тобто натискають мишею, вона буде 0:05:09.164,0:05:12.424 дивитися на mouseX і сунути його до кінця масиву. 0:05:12.424,0:05:15.574 Отже, масив повинен ставати більшим [br]більшим і більшим. Так що давайте 0:05:15.574,0:05:17.304 перезапустимо і спробуємо це. 0:05:18.308,0:05:22.308 Це спрацювало! І це набагато менше коду,[br]ніж у нас було раніше. Гаразд? 0:05:22.704,0:05:26.234 І зазвичай, ви будете хотіти використати[br]"push" якщо ви збираєтеся додати 0:05:26.234,0:05:27.654 щось в масив, як це. 0:05:27.654,0:05:30.144 І це дуже акуратно так як ви можете просто[br]мати ці масиви, що стають все більшими 0:05:30.144,0:05:31.904 і більшими і більшими під час програми. 0:05:31.904,0:05:34.277 Як і коли у вас є анімація або коли у вас [br]є те що використовує користувач і потім 0:05:34.277,0:05:35.917 ви можете зробити набагато більше. 0:05:36.401,0:05:39.731 Так що тепер ви вже бачили 90% того, [br]для чого ви, ймовірно, використовуватимете 0:05:39.731,0:05:41.881 масиви і шляхи їхнього використання. 0:05:41.881,0:05:45.251 Але є ще багато чого, що ви можете робити[br]з масивами. Так що якщо у вас є питання, 0:05:45.251,0:05:46.908 просто запитуйте їх в обговоренні. 0:05:46.908,0:05:49.888 Але в першу чергу переконайтеся, чи[br]освоїоли ці основи.