< Return to Video

Function Parameters | Computer Programming | Khan Academy

  • 0:01 - 0:06
    Wir sind zurück mit Winston, wo ich nun Text hinzugefügt habe.
  • 0:06 - 0:11
    Ich möchte nun die Positionen von Winston unter diesen roten Bezeichnungen haben,
  • 0:11 - 0:13
    welche Auskunft über sein ungefähres Alter geben.
  • 0:13 - 0:16
    Momentan befindet sich Winston an diversen Positionen, weil für faceX
  • 0:16 - 0:20
    und faceY die Position durch random zufällig wurde.
  • 0:20 - 0:27
    Wir wollen jetzt aber genau bestimmen, wo Winston beim Ausführen der Funktion sein soll,
  • 0:27 - 0:30
    und zwar für jedes Mal, wenn wir die Funktion aufrufen.
  • 0:30 - 0:33
    So wie wir die Funktion fill und rect aufrufen.
  • 0:34 - 0:40
    Ich möchte nun einen Winston hier, hier, hier und hier.
  • 0:40 - 0:44
    Und eben nicht eine zufällige Position, wenn wir jeweils die Funktion aufrufen.
  • 0:44 - 0:49
    Hierzu müssen wir der function Parameter zuweisen.
  • 0:49 - 0:53
    Und zwar hier oben, wo wir es definieren
  • 0:53 - 0:57
    sowie hier unten, wo wir die Funktion mit drawWinston aufrufen.
  • 0:57 - 1:02
    Für drawWinston wollen wir nun Werte aus faceX und faceY.
  • 1:02 - 1:09
    Wir weisen nun aber Werte zu, anstatt diese einfach zufällig zu generieren.
  • 1:09 - 1:15
    Schauen wir nun, was wir hier unten bei drawWinston eingeben.
  • 1:15 - 1:20
    Wir positionieren die Winston unter den dazugehörigen Text. Die Koordinaten x und y
  • 1:20 - 1:24
    müssten also ähnliche Werte haben wie jene bei den Befehlen text.
  • 1:24 - 1:32
    Wir nehmen aber etwa 10 Pixel mehr bei y, sodass er etwas weiter unten ist. Beim ersten wären es dann 10 und 30.
  • 1:32 - 1:41
    Beim Zweiten 200 und 30 und beim Dritten 10 und 230 und beim Vierten 200 und 230.
  • 1:41 - 1:45
    Also wie hier bei den text-Koordination. Wir nehmen aber für y immer 10 mehr.
  • 1:45 - 1:47
    Denn wir wollen die Winston etwas unter dem roten Text.
  • 1:50 - 1:55
    Bis jetzt hat sich Winston aber noch nicht verschoben, weil wir hier oben bei function
  • 1:55 - 1:59
    noch keine Parameter zugewiesen haben. Daher gelten noch diese Werte von random.
  • 1:59 - 2:04
    Um dieser function mitzuteilen, dass wir jetzt aber andere Werte haben,
  • 2:04 - 2:08
    müssen wir bei den Parametern etwas zwischen den Klammern schreiben.
  • 2:08 - 2:14
    Wir schreiben faceX und faceY und setzen ein Komma dazwischen.
  • 2:14 - 2:21
    faceX und faceY deshalb, weil wir hier unten dies innerhalb der Funktion auch so benannt hatten.
  • 2:21 - 2:23
    Somit müssen wir nicht mehr den ganzen code schreiben.
  • 2:23 - 2:29
    Es hat sich aber nach wie vor nichts geändert. Winston ist immer noch am gleichen Ort.
  • 2:29 - 2:31
    Das Problem ist, dass faceX und faceY momentan
  • 2:31 - 2:35
    von random überschrieben wird, weil es weiter unten steht.
  • 2:35 - 2:39
    Das Einzige, was wir tun müssen, ist diese zwei Linien zu löschen.
  • 2:39 - 2:45
    Und ... siehe da! Jetzt werden faceX und faceY
  • 2:45 - 2:50
    in die Funktion übernommen. Es werden dabei die Werte verwendet, die wir hier aufrufen.
  • 2:50 - 2:55
    Wie du siehst, ist Winston aber nach wie vor nicht optimal positioniert. Ich habe vergessen, dass beim Text
  • 2:55 - 3:01
    mit den Koordinaten die obere linke Ecke bestimmt wird und beim Gesicht das Zentrum.
  • 3:01 - 3:06
    Ich muss deshalb hier ein wenig die Zahlen ändern.
  • 3:06 - 3:13
    Ich verschiebe damit ein wenig nach rechts und hier nach unten.
  • 3:13 - 3:18
    Wir ändern es auch bei den anderen.
  • 3:18 - 3:23
    Wir müssen bei der Definition der Funktion nichts ändern.
  • 3:23 - 3:26
    Die Werte werde von hier unten übernommen.
  • 3:26 - 3:28
    Genau so wie bei ellipse und rect.
  • 3:28 - 3:33
    Winston ist momentan auch noch ein wenig zu groß,
  • 3:33 - 3:36
    weshalb sich die einzelnen Gesichter überlappen.
  • 3:36 - 3:39
    Da der ganze code hier mit function aufgerufen wird,
  • 3:39 - 3:42
    kann ich hier nun einfach die Größe ändern,
  • 3:42 - 3:45
    indem ich auf dieser Linie den Befehl ändere, welche die Ellipse des Gesichts ausführt.
  • 3:45 - 3:51
    Versuchen wir es mit 190 und 190.
  • 3:51 - 3:56
    Jetzt sieht es schon besser aus. Ich kann nun hier noch ein
  • 3:56 - 4:02
    wenig verschieben, sodass es noch besser passt.
  • 4:02 - 4:09
    Blicken wir nochmals darauf zurück, was dieser code tut. Es wird eine Funktion mit dem Namen drawWinston definiert.
  • 4:09 - 4:15
    Diese Funktion beinhaltet zwei Werte, die mit faceX und faceY benannt sind.
  • 4:15 - 4:20
    Diese Werte verstehen sich als Variable,
  • 4:20 - 4:23
    worauf sich die Werte hier unten beziehen.
  • 4:23 - 4:29
    Nachdem wir die Funktion definiert haben, können wir diese aufrufen, wann immer wir wollen.
  • 4:29 - 4:34
    Wir können hier die gewünschten Werte eingeben.
  • 4:34 - 4:38
    Wir haben gesehen, dass diese Funktionen sehr nützlich sind, um code
  • 4:38 - 4:43
    mehrfach auszuführen. Anhand der Parameter
  • 4:43 - 4:46
    können wir kleine Dinge ändern beziehungsweise anpassen.
  • 4:46 - 4:49
    Wir haben eine Grundkonstruktion und wenn
  • 4:49 - 4:53
    wir bemerken, dass wir vier anstatt nur ein Winston zeichnen möchten,
  • 4:53 - 4:56
    dann müssen wir nicht von vorne beginnen, sondern
  • 4:56 - 4:58
    multiplizieren es einfach mal 4.
  • 4:58 - 5:02
Title:
Function Parameters | Computer Programming | Khan Academy
Description:

more » « less
Video Language:
English
Team:
Khan Academy
Duration:
05:05

German subtitles

Revisions