0:00:00.877,0:00:03.622 Wracamy do programu[br]rysowania Winstona. 0:00:03.722,0:00:05.851 Dodałam do niego tekst. 0:00:05.951,0:00:08.707 Chcę narysować jednego Winstona 0:00:08.807,0:00:12.863 pod każdym z tytułów, by pokazać go[br]w różnych punktach życia. 0:00:12.963,0:00:15.023 Teraz Winston jest wszędzie. 0:00:15.123,0:00:17.949 Bo współrzędne „faceX” i „faceY” 0:00:18.049,0:00:20.038 to losowe liczby w funkcji. 0:00:20.572,0:00:26.424 A ja mówię komputerowi:[br]„Winstona masz narysować tutaj!”. 0:00:26.524,0:00:30.255 Chcę określać tę pozycję[br]przy każdym wywołaniu funkcji, 0:00:30.355,0:00:32.587 tak jak było z elipsą i prostokątem. 0:00:33.974,0:00:37.941 Chcę mieć Winstona tutaj, tutaj, 0:00:38.041,0:00:40.147 jednego tu, i jeszcze tu. 0:00:40.247,0:00:43.746 Niech nie wyświetlają się[br]losowo, gdy uruchomię funkcję. 0:00:44.768,0:00:49.295 Musimy więc ustalić[br]dla tej funkcji parametry. 0:00:49.395,0:00:53.452 W jej definicji, u góry, 0:00:53.552,0:00:57.701 oraz tu, na dole,[br]gdzie ją wywołujemy. 0:00:57.801,0:01:02.537 Dla funkcji „drawWinston()” [br]mamy „faceX” i „faceY”. 0:01:03.219,0:01:06.060 Każemy używać podanych wartości 0:01:06.160,0:01:09.056 zamiast tych generowanych losowo. 0:01:10.495,0:01:15.023 Zastanówmy się, co umieścić[br]w wywołaniu funkcji. 0:01:15.123,0:01:18.088 Umieszczamy Winstona[br]pod każdą wizytówką, 0:01:18.188,0:01:21.432 więc niech „x” i „y” każdego Winstona 0:01:21.532,0:01:24.706 odzwierciedla liczby[br]w punktach „text()”. 0:01:24.806,0:01:28.189 Może „y” dajmy 10 pikseli niżej. 0:01:28.289,0:01:32.601 Pierwszy Winston będzie na 10,30, 0:01:32.701,0:01:37.338 następny na 200, 230... 0:01:37.438,0:01:41.030 10, 230... i 200, 230. 0:01:41.130,0:01:45.093 Jak ze współrzędnymi tekstu,[br]dodaję 10 do każdego „y”, 0:01:45.193,0:01:47.635 bo chcę obniżyć rysunek. 0:01:49.551,0:01:51.502 Winston się nie ruszył. 0:01:51.602,0:01:55.186 Nie powiedzieliśmy funkcji 0:01:55.286,0:01:59.768 o parametrach, więc używa[br]wartości losowych. 0:01:59.868,0:02:04.017 Żeby powiedzieć funkcji:[br]„Podamy ci informacje”, 0:02:04.117,0:02:09.032 musimy w nawiasach wpisać[br]nazwy parametrów. 0:02:09.133,0:02:11.750 Nazwiemy je „faceX” i „faceY”, 0:02:12.596,0:02:14.745 rozdzielimy przecinkiem. 0:02:14.845,0:02:17.322 Nazywamy je tak, 0:02:17.422,0:02:20.805 bo będziemy się do nich[br]odnosić wewnątrz funkcji. 0:02:20.905,0:02:23.801 Nie trzeba zmieniać[br]reszty programu. 0:02:24.819,0:02:29.072 Ale nadal bez zmian:[br]Winstonów wszędzie pełno! 0:02:29.172,0:02:31.539 U góry funkcji zobaczymy, 0:02:31.639,0:02:35.573 że w „faceX” i „faceY”[br]wciąż pojawiają się wartości losowe. 0:02:35.673,0:02:38.987 Musimy skasować te wiersze... 0:02:41.747,0:02:46.718 Teraz „faceX” i „faceY”[br]wchodzą do funkcji, 0:02:46.818,0:02:50.062 która używa[br]podanych przez nas wartości. 0:02:50.162,0:02:53.824 Źle ustawiłam Winstona, 0:02:53.924,0:02:59.188 bo zapomniałam, że tekst pozycjonujemy[br]względem lewego górnego rogu, 0:02:59.288,0:03:01.556 a twarz - względem środka. 0:03:01.656,0:03:06.479 Muszę więc trochę[br]pokombinować z cyferkami. 0:03:06.781,0:03:09.637 Przesunę „x”, daleko... 0:03:09.737,0:03:12.841 i to tutaj. Nasz bobasek... 0:03:12.941,0:03:14.676 Przejdziemy tutaj... 0:03:14.776,0:03:18.448 i wprowadzimy to do funkcji. 0:03:18.548,0:03:22.570 Nie muszę zmieniać[br]definicji funkcji. 0:03:22.670,0:03:25.519 Zawsze przyjmie wartości,[br]które wprowadzimy. 0:03:25.619,0:03:28.592 Jak z elipsą i prostokątem. 0:03:28.692,0:03:33.461 Umiejscowiłam Winstona,[br]ale jest za duży. 0:03:33.561,0:03:35.666 Nakłada się na inne, nie pasuje. 0:03:35.766,0:03:39.072 Kod rysowania umieściłam w funkcji, 0:03:39.172,0:03:42.563 mogę więc zmienić[br]rozmiar Winstonów, 0:03:42.663,0:03:45.532 zmieniając jeden wiersz kodu[br]rysujący elipsę. 0:03:45.632,0:03:50.829 Zróbmy może 190...[br]Winston przechodzi na dietę! 0:03:50.929,0:03:54.057 Będzie pasował lepiej. 0:03:54.157,0:03:55.961 Mogę tak robić dalej, 0:03:56.061,0:03:59.026 żeby się tu zmieścił. 0:04:01.112,0:04:02.137 Super! 0:04:02.880,0:04:06.363 Powtórzmy, co robi program. 0:04:06.463,0:04:09.150 Definiuje funkcję „drawWinston” 0:04:09.250,0:04:12.215 i mówi, że funkcja przyjmuje[br]dwie wartości 0:04:12.315,0:04:14.931 określone jako „faceX” i „faceY”. 0:04:15.031,0:04:20.226 Są to zmienne, których możemy[br]używać wszędzie w funkcji, 0:04:20.326,0:04:23.221 tak jak było ze zmiennymi[br]określanymi u góry. 0:04:24.405,0:04:29.344 Po zdefiniowaniu funkcji[br]przywołujemy ją, gdy chcemy; 0:04:29.444,0:04:31.232 możemy wprowadzać wartości, 0:04:31.332,0:04:33.809 a ona będzie ich używać. 0:04:34.861,0:04:37.292 Już wiecie, jak świetne są funkcje. 0:04:37.392,0:04:40.938 Przydają się, gdy chcemy[br]używać jakiegoś kodu wiele razy. 0:04:41.038,0:04:43.519 Podajemy parametry,[br]mówiąc komputerowi: 0:04:43.619,0:04:46.627 „Zmień coś w tym programie,[br]dostosuj go”. 0:04:46.727,0:04:49.672 Jak przepis kulinarny.[br]Macie ogólne instrukcje, 0:04:49.772,0:04:53.082 a gdy przyjdzie nakarmić[br]4 Winstonów zamiast jednego, 0:04:53.182,0:04:58.028 nie trzeba pisać przepisu od nowa,[br]wystarczy pomnożyć wszystko przez 4. 0:04:58.128,0:05:02.486 Możecie już wymyślać przepisy[br]do swoich kodów. Pycha!