Return to Video

Function Parameters (Video Version)

  • 0:01 - 0:06
    Vi er igen i gang med Winston-tegneprogrammet,
    men jeg har tilføjet lidt tekst til det.
  • 0:06 - 0:11
    Jeg vil gerne lægge en Winston under hvert mærkat,
  • 0:11 - 0:13
    så vi kan se ham i hver del af livet.
  • 0:13 - 0:16
    Lige nu er han over det hele.
    Det er fordi vi sætter
  • 0:16 - 0:20
    faceX og faceY til tilfældige tal
    inden i funktionen.
  • 0:20 - 0:27
    Vi vil gerne kunne udtrykke "Her er den præcise
    position hvor du skal tegne den her Winston."
  • 0:27 - 0:30
    Jeg vil have en måde at give en position på
    hver gang jeg kalder funktionen
  • 0:30 - 0:33
    på samme måde som vi gør ved
    ellipse() og rect().
  • 0:34 - 0:40
    Jeg vil gerne have en Winston her, her
    her og her,
  • 0:40 - 0:44
    og jeg vil ikke bare lægge dem tilfældige steder
    hver gang jeg kalder funktionen.
  • 0:44 - 0:49
    For at gøre det er vi nødt til at
    give funktionen "parametre"
  • 0:49 - 0:53
    både i vores funktionsdefinition
    -- her i toppen --
  • 0:53 - 0:57
    og i vores funktionskald hernede
    når vi faktisk kalder den.
  • 0:57 - 1:02
    Vi sender faceX og faceY gennem drawWinston(),
  • 1:02 - 1:09
    og vi får den til at bruge de sendte værdier
    i stedet for at generere dem tilfældigt.
  • 1:09 - 1:15
    Vi skal tænke over hvad vi sender
    til funktionerne hernede.
  • 1:15 - 1:20
    Vi sætter hver Winston under hvert mærkat,
    så vi vil nok gerne have at x og y for hver
  • 1:20 - 1:24
    Winston er ens med de tal
    som vi sendte til text()-funktionerne.
  • 1:24 - 1:32
    Måske 10 pixels mindre i y-værdien?
    Den første værdi er 10 og 30
  • 1:32 - 1:41
    og så måske 200, 230...
    10, 230... 200, 230.
  • 1:41 - 1:45
    Det er det samme som med mærkat-koordinaterne.
    Jeg tilføjer bare 10 til hvert y,
  • 1:45 - 1:47
    for jeg vil have den lidt lavere.
  • 1:50 - 1:55
    Winston har ikke flyttet sig.
    Vi har ikke fortalt vores funktion at
  • 1:55 - 1:59
    vi sender parametre til den,
    så den bruger stadig de her tilfældige værdier.
  • 1:59 - 2:04
    For at fortælle funktionen "Nu skal du have
    den her information i stedet"
  • 2:04 - 2:08
    er vi nødt til at give parametrene navne
    inde i de her paranteser.
  • 2:08 - 2:14
    Vi kalder dem faceX og faceY og
    separerer dem med et komma.
  • 2:14 - 2:21
    Vi kalder dem det fordi vi bruger
    dem inde i funktionen.
  • 2:21 - 2:23
    Så har vi ikke brug for at omskrive
    resten af vores kode.
  • 2:23 - 2:29
    Men stadigvæk... Intet er sket!
    Winston er over det hele.
  • 2:29 - 2:31
    Hvis du kigger i toppen
    af funktionen
  • 2:31 - 2:35
    ser du at vi stadig overskriver faceX og faceY
    med tilfældige værdier
  • 2:35 - 2:39
    Så vi skal slette de her linjer...
  • 2:39 - 2:45
    Nu bliver faceX og faceY sendt
    til funktionen, og
  • 2:45 - 2:50
    den bruger de værdier
    som vi kalder dem med.
  • 2:50 - 2:55
    Jeg satte ikke helt Winston korrekt,
    for jeg glemte at tekst positioneres
  • 2:55 - 3:01
    i forhold til øverste venstre hjørne, og ansigtet
    positioneres i forhold til midten.
  • 3:01 - 3:06
    Jeg er nødt til at fikse mine tal lidt.
  • 3:06 - 3:13
    Jeg skal flytte x-værdien en del og flytte
    den her, og så... det er vores baby.
  • 3:13 - 3:18
    Vi gennemgår og ændrer hvad jeg sender til funktionen.
  • 3:18 - 3:23
    Jeg behøver slet ikke at
    ændre funktionsdefinitionen.
  • 3:23 - 3:26
    Den tager altid de værdier
    som vi giver den.
  • 3:26 - 3:28
    Helt ligesom ellipse() og rect().
  • 3:28 - 3:33
    Jeg har positioneret den, men jeg
    har lagt mærke til at Winston er for stor.
  • 3:33 - 3:36
    Han overlapper og passer ikke ind.
  • 3:36 - 3:39
    Jeg har lagt koden til at tegne ham
    ind i en funktion.
  • 3:39 - 3:42
    Jeg kan ændre størrelsen af allesammen
    på én gang
  • 3:42 - 3:45
    ved at ændre en linje kode
    der tegner ellipsen.
  • 3:45 - 3:51
    Hvis vi giver ham 190
    kommer han på en diæt. 190 igen.
  • 3:51 - 3:56
    Nu passer han bedre, og I er
    godt klar over at jeg kunne blive ved med
  • 3:56 - 4:02
    at justere ham for at han kan komme derind.
    Sejt!
  • 4:02 - 4:09
    Lad os repetere hvad koden gøre.
    Den definerer en funktion vi kalder drawWinston()
  • 4:09 - 4:15
    og siger at funktionen tager to værdier
    og giver dem navnene faceX og faceY.
  • 4:15 - 4:20
    De værdier kommer som variabler som
    vi kan bruge overalt i vores funktion
  • 4:20 - 4:23
    helt ligesom vi plejede at bruge
    variablerne fra toppen.
  • 4:23 - 4:29
    Og så kan vi kalde funktionen
    hvornår vi nu vil.
  • 4:29 - 4:34
    Vi kan give den forskellige værdier,
    så den bruger de værdier hver gang.
  • 4:34 - 4:38
    Du har set hvad der er sejt ved funktioner.
    Vi kan finde på miljøvenlig kode der
  • 4:38 - 4:43
    nemt kan genbruges,
    men vi kan også bruge parametrene til at sige
  • 4:43 - 4:46
    "Hey, her er noget som du kan ændre
    ved koden."
  • 4:46 - 4:49
    Det er som en opskrift.
    Du skriver de generalle instruktioner,
  • 4:49 - 4:53
    og hvis du indser at du pludselig skal
    fodre 4 Winstons i stedet for 1
  • 4:53 - 4:56
    behøver du ikke starte forfra, for du
    ændrer bare de oprindelige instruktioner
  • 4:56 - 4:58
    og ganger alt med 4.
  • 4:58 - 5:02
    Nu kan du tænke lidt over dine
    kode-opskrifter! Nam-nam.
Title:
Function Parameters (Video Version)
Description:

more » « less
Video Language:
English
Duration:
05:05

Danish subtitles

Incomplete

Revisions