-
Wracamy do programu
rysowania Winstona.
-
Dodałam do niego tekst.
-
Chcę narysować jednego Winstona
-
pod każdym z tytułów, by pokazać go
w różnych punktach życia.
-
Teraz Winston jest wszędzie.
-
Bo współrzędne „faceX” i „faceY”
-
to losowe liczby w funkcji.
-
A ja mówię komputerowi:
„Winstona masz narysować tutaj!”.
-
Chcę określać tę pozycję
przy każdym wywołaniu funkcji,
-
tak jak było z elipsą i prostokątem.
-
Chcę mieć Winstona tutaj, tutaj,
-
jednego tu, i jeszcze tu.
-
Niech nie wyświetlają się
losowo, gdy uruchomię funkcję.
-
Musimy więc ustalić
dla tej funkcji parametry.
-
W jej definicji, u góry,
-
oraz tu, na dole,
gdzie ją wywołujemy.
-
Dla funkcji „drawWinston()”
mamy „faceX” i „faceY”.
-
Każemy używać podanych wartości
-
zamiast tych generowanych losowo.
-
Zastanówmy się, co umieścić
w wywołaniu funkcji.
-
Umieszczamy Winstona
pod każdą wizytówką,
-
więc niech „x” i „y” każdego Winstona
-
odzwierciedla liczby
w punktach „text()”.
-
Może „y” dajmy 10 pikseli niżej.
-
Pierwszy Winston będzie na 10,30,
-
następny na 200, 230...
-
10, 230... i 200, 230.
-
Jak ze współrzędnymi tekstu,
dodaję 10 do każdego „y”,
-
bo chcę obniżyć rysunek.
-
Winston się nie ruszył.
-
Nie powiedzieliśmy funkcji
-
o parametrach, więc używa
wartości losowych.
-
Żeby powiedzieć funkcji:
„Podamy ci informacje”,
-
musimy w nawiasach wpisać
nazwy parametrów.
-
Nazwiemy je „faceX” i „faceY”,
-
rozdzielimy przecinkiem.
-
Nazywamy je tak,
-
bo będziemy się do nich
odnosić wewnątrz funkcji.
-
Nie trzeba zmieniać
reszty programu.
-
Ale nadal bez zmian:
Winstonów wszędzie pełno!
-
U góry funkcji zobaczymy,
-
że w „faceX” i „faceY”
wciąż pojawiają się wartości losowe.
-
Musimy skasować te wiersze...
-
Teraz „faceX” i „faceY”
wchodzą do funkcji,
-
która używa
podanych przez nas wartości.
-
Źle ustawiłam Winstona,
-
bo zapomniałam, że tekst pozycjonujemy
względem lewego górnego rogu,
-
a twarz - względem środka.
-
Muszę więc trochę
pokombinować z cyferkami.
-
Przesunę „x”, daleko...
-
i to tutaj. Nasz bobasek...
-
Przejdziemy tutaj...
-
i wprowadzimy to do funkcji.
-
Nie muszę zmieniać
definicji funkcji.
-
Zawsze przyjmie wartości,
które wprowadzimy.
-
Jak z elipsą i prostokątem.
-
Umiejscowiłam Winstona,
ale jest za duży.
-
Nakłada się na inne, nie pasuje.
-
Kod rysowania umieściłam w funkcji,
-
mogę więc zmienić
rozmiar Winstonów,
-
zmieniając jeden wiersz kodu
rysujący elipsę.
-
Zróbmy może 190...
Winston przechodzi na dietę!
-
Będzie pasował lepiej.
-
Mogę tak robić dalej,
-
żeby się tu zmieścił.
-
Super!
-
Powtórzmy, co robi program.
-
Definiuje funkcję „drawWinston”
-
i mówi, że funkcja przyjmuje
dwie wartości
-
określone jako „faceX” i „faceY”.
-
Są to zmienne, których możemy
używać wszędzie w funkcji,
-
tak jak było ze zmiennymi
określanymi u góry.
-
Po zdefiniowaniu funkcji
przywołujemy ją, gdy chcemy;
-
możemy wprowadzać wartości,
-
a ona będzie ich używać.
-
Już wiecie, jak świetne są funkcje.
-
Przydają się, gdy chcemy
używać jakiegoś kodu wiele razy.
-
Podajemy parametry,
mówiąc komputerowi:
-
„Zmień coś w tym programie,
dostosuj go”.
-
Jak przepis kulinarny.
Macie ogólne instrukcje,
-
a gdy przyjdzie nakarmić
4 Winstonów zamiast jednego,
-
nie trzeba pisać przepisu od nowa,
wystarczy pomnożyć wszystko przez 4.
-
Możecie już wymyślać przepisy
do swoich kodów. Pycha!