1 00:00:00,877 --> 00:00:03,622 Wracamy do programu rysowania Winstona. 2 00:00:03,722 --> 00:00:05,851 Dodałam do niego tekst. 3 00:00:05,951 --> 00:00:08,707 Chcę narysować jednego Winstona 4 00:00:08,807 --> 00:00:12,863 pod każdym z tytułów, by pokazać go w różnych punktach życia. 5 00:00:12,963 --> 00:00:15,023 Teraz Winston jest wszędzie. 6 00:00:15,123 --> 00:00:17,949 Bo współrzędne „faceX” i „faceY” 7 00:00:18,049 --> 00:00:20,038 to losowe liczby w funkcji. 8 00:00:20,572 --> 00:00:26,424 A ja mówię komputerowi: „Winstona masz narysować tutaj!”. 9 00:00:26,524 --> 00:00:30,255 Chcę określać tę pozycję przy każdym wywołaniu funkcji, 10 00:00:30,355 --> 00:00:32,587 tak jak było z elipsą i prostokątem. 11 00:00:33,974 --> 00:00:37,941 Chcę mieć Winstona tutaj, tutaj, 12 00:00:38,041 --> 00:00:40,147 jednego tu, i jeszcze tu. 13 00:00:40,247 --> 00:00:43,746 Niech nie wyświetlają się losowo, gdy uruchomię funkcję. 14 00:00:44,768 --> 00:00:49,295 Musimy więc ustalić dla tej funkcji parametry. 15 00:00:49,395 --> 00:00:53,452 W jej definicji, u góry, 16 00:00:53,552 --> 00:00:57,701 oraz tu, na dole, gdzie ją wywołujemy. 17 00:00:57,801 --> 00:01:02,537 Dla funkcji „drawWinston()” mamy „faceX” i „faceY”. 18 00:01:03,219 --> 00:01:06,060 Każemy używać podanych wartości 19 00:01:06,160 --> 00:01:09,056 zamiast tych generowanych losowo. 20 00:01:10,495 --> 00:01:15,023 Zastanówmy się, co umieścić w wywołaniu funkcji. 21 00:01:15,123 --> 00:01:18,088 Umieszczamy Winstona pod każdą wizytówką, 22 00:01:18,188 --> 00:01:21,432 więc niech „x” i „y” każdego Winstona 23 00:01:21,532 --> 00:01:24,706 odzwierciedla liczby w punktach „text()”. 24 00:01:24,806 --> 00:01:28,189 Może „y” dajmy 10 pikseli niżej. 25 00:01:28,289 --> 00:01:32,601 Pierwszy Winston będzie na 10,30, 26 00:01:32,701 --> 00:01:37,338 następny na 200, 230... 27 00:01:37,438 --> 00:01:41,030 10, 230... i 200, 230. 28 00:01:41,130 --> 00:01:45,093 Jak ze współrzędnymi tekstu, dodaję 10 do każdego „y”, 29 00:01:45,193 --> 00:01:47,635 bo chcę obniżyć rysunek. 30 00:01:49,551 --> 00:01:51,502 Winston się nie ruszył. 31 00:01:51,602 --> 00:01:55,186 Nie powiedzieliśmy funkcji 32 00:01:55,286 --> 00:01:59,768 o parametrach, więc używa wartości losowych. 33 00:01:59,868 --> 00:02:04,017 Żeby powiedzieć funkcji: „Podamy ci informacje”, 34 00:02:04,117 --> 00:02:09,032 musimy w nawiasach wpisać nazwy parametrów. 35 00:02:09,133 --> 00:02:11,750 Nazwiemy je „faceX” i „faceY”, 36 00:02:12,596 --> 00:02:14,745 rozdzielimy przecinkiem. 37 00:02:14,845 --> 00:02:17,322 Nazywamy je tak, 38 00:02:17,422 --> 00:02:20,805 bo będziemy się do nich odnosić wewnątrz funkcji. 39 00:02:20,905 --> 00:02:23,801 Nie trzeba zmieniać reszty programu. 40 00:02:24,819 --> 00:02:29,072 Ale nadal bez zmian: Winstonów wszędzie pełno! 41 00:02:29,172 --> 00:02:31,539 U góry funkcji zobaczymy, 42 00:02:31,639 --> 00:02:35,573 że w „faceX” i „faceY” wciąż pojawiają się wartości losowe. 43 00:02:35,673 --> 00:02:38,987 Musimy skasować te wiersze... 44 00:02:41,747 --> 00:02:46,718 Teraz „faceX” i „faceY” wchodzą do funkcji, 45 00:02:46,818 --> 00:02:50,062 która używa podanych przez nas wartości. 46 00:02:50,162 --> 00:02:53,824 Źle ustawiłam Winstona, 47 00:02:53,924 --> 00:02:59,188 bo zapomniałam, że tekst pozycjonujemy względem lewego górnego rogu, 48 00:02:59,288 --> 00:03:01,556 a twarz - względem środka. 49 00:03:01,656 --> 00:03:06,479 Muszę więc trochę pokombinować z cyferkami. 50 00:03:06,781 --> 00:03:09,637 Przesunę „x”, daleko... 51 00:03:09,737 --> 00:03:12,841 i to tutaj. Nasz bobasek... 52 00:03:12,941 --> 00:03:14,676 Przejdziemy tutaj... 53 00:03:14,776 --> 00:03:18,448 i wprowadzimy to do funkcji. 54 00:03:18,548 --> 00:03:22,570 Nie muszę zmieniać definicji funkcji. 55 00:03:22,670 --> 00:03:25,519 Zawsze przyjmie wartości, które wprowadzimy. 56 00:03:25,619 --> 00:03:28,592 Jak z elipsą i prostokątem. 57 00:03:28,692 --> 00:03:33,461 Umiejscowiłam Winstona, ale jest za duży. 58 00:03:33,561 --> 00:03:35,666 Nakłada się na inne, nie pasuje. 59 00:03:35,766 --> 00:03:39,072 Kod rysowania umieściłam w funkcji, 60 00:03:39,172 --> 00:03:42,563 mogę więc zmienić rozmiar Winstonów, 61 00:03:42,663 --> 00:03:45,532 zmieniając jeden wiersz kodu rysujący elipsę. 62 00:03:45,632 --> 00:03:50,829 Zróbmy może 190... Winston przechodzi na dietę! 63 00:03:50,929 --> 00:03:54,057 Będzie pasował lepiej. 64 00:03:54,157 --> 00:03:55,961 Mogę tak robić dalej, 65 00:03:56,061 --> 00:03:59,026 żeby się tu zmieścił. 66 00:04:01,112 --> 00:04:02,137 Super! 67 00:04:02,880 --> 00:04:06,363 Powtórzmy, co robi program. 68 00:04:06,463 --> 00:04:09,150 Definiuje funkcję „drawWinston” 69 00:04:09,250 --> 00:04:12,215 i mówi, że funkcja przyjmuje dwie wartości 70 00:04:12,315 --> 00:04:14,931 określone jako „faceX” i „faceY”. 71 00:04:15,031 --> 00:04:20,226 Są to zmienne, których możemy używać wszędzie w funkcji, 72 00:04:20,326 --> 00:04:23,221 tak jak było ze zmiennymi określanymi u góry. 73 00:04:24,405 --> 00:04:29,344 Po zdefiniowaniu funkcji przywołujemy ją, gdy chcemy; 74 00:04:29,444 --> 00:04:31,232 możemy wprowadzać wartości, 75 00:04:31,332 --> 00:04:33,809 a ona będzie ich używać. 76 00:04:34,861 --> 00:04:37,292 Już wiecie, jak świetne są funkcje. 77 00:04:37,392 --> 00:04:40,938 Przydają się, gdy chcemy używać jakiegoś kodu wiele razy. 78 00:04:41,038 --> 00:04:43,519 Podajemy parametry, mówiąc komputerowi: 79 00:04:43,619 --> 00:04:46,627 „Zmień coś w tym programie, dostosuj go”. 80 00:04:46,727 --> 00:04:49,672 Jak przepis kulinarny. Macie ogólne instrukcje, 81 00:04:49,772 --> 00:04:53,082 a gdy przyjdzie nakarmić 4 Winstonów zamiast jednego, 82 00:04:53,182 --> 00:04:58,028 nie trzeba pisać przepisu od nowa, wystarczy pomnożyć wszystko przez 4. 83 00:04:58,128 --> 00:05:02,486 Możecie już wymyślać przepisy do swoich kodów. Pycha!