[Script Info] Title: [Events] Format: Layer, Start, End, Style, Name, MarginL, MarginR, MarginV, Effect, Text Dialogue: 0,0:00:01.25,0:00:04.51,Default,,0000,0000,0000,,До цих пір ми бачили, як створити масив\Nі отримати доступ до нього. Dialogue: 0,0:00:04.51,0:00:08.64,Default,,0000,0000,0000,,Так, як й інші змінні, проте, одина дійсно\Nцікава можливість масивів це те, що ми Dialogue: 0,0:00:08.64,0:00:12.51,Default,,0000,0000,0000,,можемо змінювати їх динамічно\Nпід час виконання програми. Dialogue: 0,0:00:12.96,0:00:15.82,Default,,0000,0000,0000,,Гаразд, дозвольте мені показати вам, що\Nя маю на увазі під цим. Dialogue: 0,0:00:15.82,0:00:19.82,Default,,0000,0000,0000,,Отже, у нас є ця програма, що відображає\NХопера, що тримає пару повітряних куль; Dialogue: 0,0:00:19.82,0:00:21.13,Default,,0000,0000,0000,,надзвичайно милий. Dialogue: 0,0:00:21.13,0:00:27.76,Default,,0000,0000,0000,,І це працює так як у нас є цей xPositions \Nмасив, що містить два числа, які говорять Dialogue: 0,0:00:27.76,0:00:29.53,Default,,0000,0000,0000,,де ми хочемо мати ці повітряні кулі. Dialogue: 0,0:00:29.53,0:00:35.20,Default,,0000,0000,0000,,І потім тут у нас є цей цикл, що проходить\Nчерез кожний елемент в цьому масиві. Dialogue: 0,0:00:35.20,0:00:41.97,Default,,0000,0000,0000,,І для кожного з них, він малює лінію від\N"х"вниз до руки Хопера, а потім малює Dialogue: 0,0:00:41.97,0:00:46.74,Default,,0000,0000,0000,,еліпс на "х" що є 30х40 пікселів, і це \Nнаша повітряна куля. Dialogue: 0,0:00:48.03,0:00:52.49,Default,,0000,0000,0000,,Класно. І тепер ми бачимо, як це працює\Nми знаємо, що якщо ми хочемо показати Dialogue: 0,0:00:52.49,0:00:57.30,Default,,0000,0000,0000,,ще одину повітряну кулю, що ми можемо\Nпросто додати номер в масиві, чи не так? Dialogue: 0,0:00:57.30,0:00:58.26,Default,,0000,0000,0000,,наприклад 300. Dialogue: 0,0:00:58.26,0:01:02.21,Default,,0000,0000,0000,,Гарно. Тепер у нас є три повітряних кулі\Nдля щасливого Хопера. Dialogue: 0,0:01:03.04,0:01:08.65,Default,,0000,0000,0000,,Але, припустимо, ми хочемо дати можливість\Nкористувачеві, який не знає, як кодувати, Dialogue: 0,0:01:08.65,0:01:10.99,Default,,0000,0000,0000,,додавати нові повітряні кулі. Dialogue: 0,0:01:10.99,0:01:14.99,Default,,0000,0000,0000,,Таким чином, ми хотіли б дати програму\Nкористувачеві і сказати: "Ви можете Dialogue: 0,0:01:14.99,0:01:18.12,Default,,0000,0000,0000,,натиснути кнопку, де б ви хотіли повітряну\Nкулю, і вона буде відображатися." Dialogue: 0,0:01:18.12,0:01:20.66,Default,,0000,0000,0000,,Чи не буде це круто? Я гадаю, що так. Dialogue: 0,0:01:21.04,0:01:24.97,Default,,0000,0000,0000,,І як ми повинні це робити? отже, ми\Nхочемо, щоб наша програма змінювалась Dialogue: 0,0:01:24.97,0:01:26.52,Default,,0000,0000,0000,,з плином часу, чи не так? Dialogue: 0,0:01:26.52,0:01:29.85,Default,,0000,0000,0000,,Кожен раз, коли користувач натисне, \Nповітряна куля з'явиться там. Dialogue: 0,0:01:30.29,0:01:37.11,Default,,0000,0000,0000,,Отже, почнемо, перемістиши все у функцію\N"draw" і це легко змінювати з часу. Dialogue: 0,0:01:37.11,0:01:42.62,Default,,0000,0000,0000,,Тому, ми просто перемістимо це вниз сюди\Nі відступимо тут. Чудово. Dialogue: 0,0:01:43.28,0:01:48.46,Default,,0000,0000,0000,,І тепер ми хочемо, перевіряти чи \Nкористувач натискає мишею прямо зараз? Dialogue: 0,0:01:48.46,0:01:55.45,Default,,0000,0000,0000,,Ми можемо зробити це з нашим "if".\NIf(mousePressed), а тоді що будемо робити. Dialogue: 0,0:01:55.45,0:02:00.07,Default,,0000,0000,0000,,Так що ж ми будемо робити? Якщо натиснути\Nмишею, то ми хочемо, якось додати число Dialogue: 0,0:02:00.07,0:02:01.44,Default,,0000,0000,0000,,до цього масиву. Dialogue: 0,0:02:01.44,0:02:04.06,Default,,0000,0000,0000,,І давайте ще раз зробимо лише ці \Nдва елементи. Добре. Dialogue: 0,0:02:04.20,0:02:09.40,Default,,0000,0000,0000,,Отже, хочемо, додати число до цього масиву\Nякось. І я покажу вам один спосіб, яким ви Dialogue: 0,0:02:09.40,0:02:10.81,Default,,0000,0000,0000,,могли б зробити це. Dialogue: 0,0:02:10.81,0:02:17.80,Default,,0000,0000,0000,,Таким чином, ми можемо\Nввести xPositions [2] = mouseX; Dialogue: 0,0:02:18.17,0:02:21.33,Default,,0000,0000,0000,,Добре, і дозвольте мені показати вам,\Nяк це працює. Dialogue: 0,0:02:22.26,0:02:26.56,Default,,0000,0000,0000,,Я натиснула, і я отримала повітряну кулю.\NОтже як це зроили? Dialogue: 0,0:02:26.56,0:02:34.04,Default,,0000,0000,0000,,Це говорить, що xPositions [2] каже знайти\Nцей масив, і знайти елемент на 2 місці, Dialogue: 0,0:02:34.04,0:02:38.04,Default,,0000,0000,0000,,і пам'ятайте, що це третій елемент, тому\Nщо наші масиви починаються з нуля. Dialogue: 0,0:02:38.04,0:02:42.04,Default,,0000,0000,0000,,І якщо поглянете, то немає елемента 3, \Nчи не так? Там немає нічого в цьому місці. Dialogue: 0,0:02:42.04,0:02:46.04,Default,,0000,0000,0000,,І він каже, знайти це, а потім внести \Nв нього mouseX Dialogue: 0,0:02:46.04,0:02:51.22,Default,,0000,0000,0000,,А так як там нічого немає, значення \Nпереходить від нічого до mouseX. Dialogue: 0,0:02:51.22,0:02:56.36,Default,,0000,0000,0000,,І тепер наш масив має довжину в 3 елементи\Nі цей цикл for знизу тут, що проходить через Dialogue: 0,0:02:56.36,0:02:59.82,Default,,0000,0000,0000,,нього, завершить малювати\Nтретю повітряну кулю. Dialogue: 0,0:03:00.75,0:03:04.06,Default,,0000,0000,0000,,І це дуже класно, дозвольте мені натиснути\Nще трохи, щоб показати вам, як це працює. Dialogue: 0,0:03:04.06,0:03:08.75,Default,,0000,0000,0000,,Так що ви бачите кожен раз, коли натискаю,\Nвін продовжує малювати третю повітряну Dialogue: 0,0:03:08.75,0:03:11.07,Default,,0000,0000,0000,,де б я не натиснула мишею. Dialogue: 0,0:03:11.38,0:03:18.66,Default,,0000,0000,0000,,І це тому, що ми постійно переписуємо\Nрозташування 2 - те що з індексом 2. Dialogue: 0,0:03:18.66,0:03:22.66,Default,,0000,0000,0000,,Ми постійно оновлюємо, \Nпоточну mouseX. Dialogue: 0,0:03:22.82,0:03:29.84,Default,,0000,0000,0000,,Отже, ми матимемо тільки 3 повітряні кулі,\Nтому що одина в позиції 0, ця у 1, і ми Dialogue: 0,0:03:29.85,0:03:34.27,Default,,0000,0000,0000,,постійно змінюємо позицію 2. Зрозуміло? Dialogue: 0,0:03:34.46,0:03:39.32,Default,,0000,0000,0000,,І це круто але те, що ми дійсно хочемо, це\Nщоб користувач міг зробити купу повітряних Dialogue: 0,0:03:39.32,0:03:40.32,Default,,0000,0000,0000,,куль, чи не так? Dialogue: 0,0:03:40.36,0:03:43.34,Default,,0000,0000,0000,,Таким чином, кожен раз, коли користувач\Nнатисне, з'явиться нова куля. Dialogue: 0,0:03:43.36,0:03:49.71,Default,,0000,0000,0000,,Це означає, що ми повинні постійно\Nзбільшувати індекс елементу масиву, Dialogue: 0,0:03:49.71,0:03:50.78,Default,,0000,0000,0000,,який ми зберігаємо його всередині. Dialogue: 0,0:03:50.78,0:03:56.34,Default,,0000,0000,0000,,Ми не хочемо, щоб їх було 2 кожен раз,\Nа щоб було 2, а потім 3, 4, 5, 6 і т.д. Dialogue: 0,0:03:56.34,0:04:00.56,Default,,0000,0000,0000,,І ми могли б зробити це, маючи невелику\Nзмінну лічильника. Тож введемо newind = 2; Dialogue: 0,0:04:00.56,0:04:04.56,Default,,0000,0000,0000,,Це те, з чого вона буде початинатись,\Nа потім ми введемо newind замість 2. Dialogue: 0,0:04:05.51,0:04:09.48,Default,,0000,0000,0000,,І тоді те, що ми дійсно хочемо зробити, \Nце ввести newind ++ Dialogue: 0,0:04:09.48,0:04:14.93,Default,,0000,0000,0000,,Отже, кожен раз додаючи 1 до цього. ми\Nпочнемо як 2, а потім стане 3, а тоді 4. Dialogue: 0,0:04:14.93,0:04:18.03,Default,,0000,0000,0000,,Так що кожен раз, натискаючи, вона \Nзростатиме. Так давайте спробуємо це. Dialogue: 0,0:04:19.10,0:04:21.55,Default,,0000,0000,0000,,Безліч повітряних куль. \NВечірка повітряних куль Dialogue: 0,0:04:22.03,0:04:28.52,Default,,0000,0000,0000,,Це чудово, чи не так? Але це не найкращий \Nспосіб зробити це, так як це складається з Dialogue: 0,0:04:28.52,0:04:32.28,Default,,0000,0000,0000,,додавання елементів в масив, те що ми\Nхочемо робити багато. Dialogue: 0,0:04:32.28,0:04:35.17,Default,,0000,0000,0000,,Таким чином, у нас є набагато простіший \Nспосіб зробити це. Dialogue: 0,0:04:35.17,0:04:39.06,Default,,0000,0000,0000,,Отже, дозвольте мені просто видалити це\Nвсе, що ми зробили. Гаразд, отже, нам не Dialogue: 0,0:04:39.06,0:04:42.21,Default,,0000,0000,0000,,потрібно це, і більше не буде потрібно.\NМи просто прокоментуємо це. Dialogue: 0,0:04:42.21,0:04:50.25,Default,,0000,0000,0000,,Отже, те як ми робимо це, ми вводимо \NxPositions.push, а потім mouseX. Dialogue: 0,0:04:51.03,0:04:56.14,Default,,0000,0000,0000,,Так що, те ми робимо тут ми називаємо\Nметодом масив з xPositions. Dialogue: 0,0:04:56.14,0:05:01.16,Default,,0000,0000,0000,,Так ми викликаємо команду по масиву. \NМи говоримо масиву, "Ей, перемісти це нове Dialogue: 0,0:05:01.16,0:05:05.16,Default,,0000,0000,0000,,значення, mouseX, перемісти його на кінець\Nвашого масиву." Dialogue: 0,0:05:05.16,0:05:09.16,Default,,0000,0000,0000,,Отже, кожен раз коли це викликається, \Nтобто натискають мишею, вона буде Dialogue: 0,0:05:09.16,0:05:12.42,Default,,0000,0000,0000,,дивитися на mouseX і сунути його до кінця масиву. Dialogue: 0,0:05:12.42,0:05:15.57,Default,,0000,0000,0000,,Отже, масив повинен ставати більшим \Nбільшим і більшим. Так що давайте Dialogue: 0,0:05:15.57,0:05:17.30,Default,,0000,0000,0000,,перезапустимо і спробуємо це. Dialogue: 0,0:05:18.31,0:05:22.31,Default,,0000,0000,0000,,Це спрацювало! І це набагато менше коду,\Nніж у нас було раніше. Гаразд? Dialogue: 0,0:05:22.70,0:05:26.23,Default,,0000,0000,0000,,І зазвичай, ви будете хотіти використати\N"push" якщо ви збираєтеся додати Dialogue: 0,0:05:26.23,0:05:27.65,Default,,0000,0000,0000,,щось в масив, як це. Dialogue: 0,0:05:27.65,0:05:30.14,Default,,0000,0000,0000,,І це дуже акуратно так як ви можете просто\Nмати ці масиви, що стають все більшими Dialogue: 0,0:05:30.14,0:05:31.90,Default,,0000,0000,0000,,і більшими і більшими під час програми. Dialogue: 0,0:05:31.90,0:05:34.28,Default,,0000,0000,0000,,Як і коли у вас є анімація або коли у вас \Nє те що використовує користувач і потім Dialogue: 0,0:05:34.28,0:05:35.92,Default,,0000,0000,0000,,ви можете зробити набагато більше. Dialogue: 0,0:05:36.40,0:05:39.73,Default,,0000,0000,0000,,Так що тепер ви вже бачили 90% того, \Nдля чого ви, ймовірно, використовуватимете Dialogue: 0,0:05:39.73,0:05:41.88,Default,,0000,0000,0000,,масиви і шляхи їхнього використання. Dialogue: 0,0:05:41.88,0:05:45.25,Default,,0000,0000,0000,,Але є ще багато чого, що ви можете робити\Nз масивами. Так що якщо у вас є питання, Dialogue: 0,0:05:45.25,0:05:46.91,Default,,0000,0000,0000,,просто запитуйте їх в обговоренні. Dialogue: 0,0:05:46.91,0:05:49.89,Default,,0000,0000,0000,,Але в першу чергу переконайтеся, чи\Nосвоїоли ці основи.