[Script Info] Title: [Events] Format: Layer, Start, End, Style, Name, MarginL, MarginR, MarginV, Effect, Text Dialogue: 0,0:00:00.88,0:00:06.00,Default,,0000,0000,0000,,Vi er igen i gang med Winston-tegneprogrammet,\Nmen jeg har tilføjet lidt tekst til det. Dialogue: 0,0:00:06.00,0:00:11.07,Default,,0000,0000,0000,,Jeg vil gerne lægge en Winston under hvert mærkat, Dialogue: 0,0:00:11.07,0:00:13.21,Default,,0000,0000,0000,,så vi kan se ham i hver del af livet. Dialogue: 0,0:00:13.21,0:00:16.44,Default,,0000,0000,0000,,Lige nu er han over det hele.\NDet er fordi vi sætter Dialogue: 0,0:00:16.44,0:00:20.45,Default,,0000,0000,0000,,faceX og faceY til tilfældige tal\Ninden i funktionen. Dialogue: 0,0:00:20.45,0:00:26.71,Default,,0000,0000,0000,,Vi vil gerne kunne udtrykke "Her er den præcise\Nposition hvor du skal tegne den her Winston." Dialogue: 0,0:00:26.71,0:00:30.32,Default,,0000,0000,0000,,Jeg vil have en måde at give en position på\Nhver gang jeg kalder funktionen Dialogue: 0,0:00:30.32,0:00:32.65,Default,,0000,0000,0000,,på samme måde som vi gør ved\Nellipse() og rect(). Dialogue: 0,0:00:34.05,0:00:40.46,Default,,0000,0000,0000,,Jeg vil gerne have en Winston her, her\Nher og her, Dialogue: 0,0:00:40.46,0:00:43.62,Default,,0000,0000,0000,,og jeg vil ikke bare lægge dem tilfældige steder\Nhver gang jeg kalder funktionen. Dialogue: 0,0:00:43.62,0:00:48.88,Default,,0000,0000,0000,,For at gøre det er vi nødt til at\Ngive funktionen "parametre" Dialogue: 0,0:00:48.88,0:00:52.81,Default,,0000,0000,0000,,både i vores funktionsdefinition\N-- her i toppen -- Dialogue: 0,0:00:52.81,0:00:57.30,Default,,0000,0000,0000,,og i vores funktionskald hernede\Nnår vi faktisk kalder den. Dialogue: 0,0:00:57.30,0:01:02.21,Default,,0000,0000,0000,,Vi sender faceX og faceY gennem drawWinston(), Dialogue: 0,0:01:02.21,0:01:09.06,Default,,0000,0000,0000,,og vi får den til at bruge de sendte værdier\Ni stedet for at generere dem tilfældigt. Dialogue: 0,0:01:09.06,0:01:14.66,Default,,0000,0000,0000,,Vi skal tænke over hvad vi sender\Ntil funktionerne hernede. Dialogue: 0,0:01:14.66,0:01:20.07,Default,,0000,0000,0000,,Vi sætter hver Winston under hvert mærkat,\Nså vi vil nok gerne have at x og y for hver Dialogue: 0,0:01:20.07,0:01:24.49,Default,,0000,0000,0000,,Winston er ens med de tal\Nsom vi sendte til text()-funktionerne. Dialogue: 0,0:01:24.49,0:01:32.17,Default,,0000,0000,0000,,Måske 10 pixels mindre i y-værdien?\NDen første værdi er 10 og 30 Dialogue: 0,0:01:32.17,0:01:40.89,Default,,0000,0000,0000,,og så måske 200, 230...\N10, 230... 200, 230. Dialogue: 0,0:01:40.89,0:01:44.86,Default,,0000,0000,0000,,Det er det samme som med mærkat-koordinaterne.\NJeg tilføjer bare 10 til hvert y, Dialogue: 0,0:01:44.86,0:01:47.40,Default,,0000,0000,0000,,for jeg vil have den lidt lavere. Dialogue: 0,0:01:49.98,0:01:55.30,Default,,0000,0000,0000,,Winston har ikke flyttet sig.\NVi har ikke fortalt vores funktion at Dialogue: 0,0:01:55.30,0:01:59.18,Default,,0000,0000,0000,,vi sender parametre til den,\Nså den bruger stadig de her tilfældige værdier. Dialogue: 0,0:01:59.18,0:02:03.60,Default,,0000,0000,0000,,For at fortælle funktionen "Nu skal du have\Nden her information i stedet" Dialogue: 0,0:02:03.60,0:02:08.40,Default,,0000,0000,0000,,er vi nødt til at give parametrene navne\Ninde i de her paranteser. Dialogue: 0,0:02:08.40,0:02:14.11,Default,,0000,0000,0000,,Vi kalder dem faceX og faceY og\Nseparerer dem med et komma. Dialogue: 0,0:02:14.11,0:02:20.70,Default,,0000,0000,0000,,Vi kalder dem det fordi vi bruger\Ndem inde i funktionen. Dialogue: 0,0:02:20.70,0:02:23.47,Default,,0000,0000,0000,,Så har vi ikke brug for at omskrive\Nresten af vores kode. Dialogue: 0,0:02:23.47,0:02:28.81,Default,,0000,0000,0000,,Men stadigvæk... Intet er sket!\NWinston er over det hele. Dialogue: 0,0:02:28.81,0:02:31.35,Default,,0000,0000,0000,,Hvis du kigger i toppen\Naf funktionen Dialogue: 0,0:02:31.35,0:02:35.26,Default,,0000,0000,0000,,ser du at vi stadig overskriver faceX og faceY\Nmed tilfældige værdier Dialogue: 0,0:02:35.26,0:02:38.79,Default,,0000,0000,0000,,Så vi skal slette de her linjer... Dialogue: 0,0:02:38.79,0:02:45.46,Default,,0000,0000,0000,,Nu bliver faceX og faceY sendt\Ntil funktionen, og Dialogue: 0,0:02:45.46,0:02:49.58,Default,,0000,0000,0000,,den bruger de værdier\Nsom vi kalder dem med. Dialogue: 0,0:02:49.58,0:02:55.31,Default,,0000,0000,0000,,Jeg satte ikke helt Winston korrekt,\Nfor jeg glemte at tekst positioneres Dialogue: 0,0:02:55.31,0:03:01.04,Default,,0000,0000,0000,,i forhold til øverste venstre hjørne, og ansigtet\Npositioneres i forhold til midten. Dialogue: 0,0:03:01.04,0:03:06.38,Default,,0000,0000,0000,,Jeg er nødt til at fikse mine tal lidt. Dialogue: 0,0:03:06.38,0:03:12.61,Default,,0000,0000,0000,,Jeg skal flytte x-værdien en del og flytte\Nden her, og så... det er vores baby. Dialogue: 0,0:03:12.61,0:03:18.03,Default,,0000,0000,0000,,Vi gennemgår og ændrer hvad jeg sender til funktionen. Dialogue: 0,0:03:18.03,0:03:22.52,Default,,0000,0000,0000,,Jeg behøver slet ikke at\Nændre funktionsdefinitionen. Dialogue: 0,0:03:22.52,0:03:25.76,Default,,0000,0000,0000,,Den tager altid de værdier\Nsom vi giver den. Dialogue: 0,0:03:25.76,0:03:28.39,Default,,0000,0000,0000,,Helt ligesom ellipse() og rect(). Dialogue: 0,0:03:28.39,0:03:33.35,Default,,0000,0000,0000,,Jeg har positioneret den, men jeg\Nhar lagt mærke til at Winston er for stor. Dialogue: 0,0:03:33.35,0:03:35.76,Default,,0000,0000,0000,,Han overlapper og passer ikke ind. Dialogue: 0,0:03:35.76,0:03:39.02,Default,,0000,0000,0000,,Jeg har lagt koden til at tegne ham\Nind i en funktion. Dialogue: 0,0:03:39.02,0:03:42.37,Default,,0000,0000,0000,,Jeg kan ændre størrelsen af allesammen\Npå én gang Dialogue: 0,0:03:42.37,0:03:45.44,Default,,0000,0000,0000,,ved at ændre en linje kode\Nder tegner ellipsen. Dialogue: 0,0:03:45.44,0:03:50.63,Default,,0000,0000,0000,,Hvis vi giver ham 190\Nkommer han på en diæt. 190 igen. Dialogue: 0,0:03:50.63,0:03:55.96,Default,,0000,0000,0000,,Nu passer han bedre, og I er\Ngodt klar over at jeg kunne blive ved med Dialogue: 0,0:03:55.96,0:04:01.90,Default,,0000,0000,0000,,at justere ham for at han kan komme derind.\NSejt! Dialogue: 0,0:04:01.90,0:04:08.53,Default,,0000,0000,0000,,Lad os repetere hvad koden gøre.\NDen definerer en funktion vi kalder drawWinston() Dialogue: 0,0:04:08.53,0:04:14.67,Default,,0000,0000,0000,,og siger at funktionen tager to værdier\Nog giver dem navnene faceX og faceY. Dialogue: 0,0:04:14.67,0:04:19.95,Default,,0000,0000,0000,,De værdier kommer som variabler som\Nvi kan bruge overalt i vores funktion Dialogue: 0,0:04:19.95,0:04:23.06,Default,,0000,0000,0000,,helt ligesom vi plejede at bruge\Nvariablerne fra toppen. Dialogue: 0,0:04:23.06,0:04:29.11,Default,,0000,0000,0000,,Og så kan vi kalde funktionen\Nhvornår vi nu vil. Dialogue: 0,0:04:29.11,0:04:33.71,Default,,0000,0000,0000,,Vi kan give den forskellige værdier,\Nså den bruger {\i1}de{\i0} værdier hver gang. Dialogue: 0,0:04:33.71,0:04:38.11,Default,,0000,0000,0000,,Du har set hvad der er sejt ved funktioner.\NVi kan finde på miljøvenlig kode der Dialogue: 0,0:04:38.11,0:04:42.51,Default,,0000,0000,0000,,nemt kan genbruges,\Nmen vi kan også bruge parametrene til at sige Dialogue: 0,0:04:42.51,0:04:46.46,Default,,0000,0000,0000,,"Hey, her er noget som du kan ændre\Nved koden." Dialogue: 0,0:04:46.46,0:04:49.40,Default,,0000,0000,0000,,Det er som en opskrift.\NDu skriver de generalle instruktioner, Dialogue: 0,0:04:49.40,0:04:52.81,Default,,0000,0000,0000,,og hvis du indser at du pludselig skal\Nfodre 4 Winstons i stedet for 1 Dialogue: 0,0:04:52.81,0:04:55.94,Default,,0000,0000,0000,,behøver du ikke starte forfra, for du\Nændrer bare de oprindelige instruktioner Dialogue: 0,0:04:55.94,0:04:57.63,Default,,0000,0000,0000,,og ganger alt med 4. Dialogue: 0,0:04:57.63,0:05:02.20,Default,,0000,0000,0000,,Nu kan du tænke lidt over dine\Nkode-opskrifter! Nam-nam.