Title: Animationen | Die draw()-Funktion

Neben der

python

python
Die draw() Funktion wird in einer Endlosschleife immer wieder aufgerufen.

Normalerweise wird alles, was zu Beginn ausgeführt wird in der setup()-Methode
erstellt, alles was **immer wieder** passiert, in der **draw()**-Methode.

Der folgende Code z.B. macht noch nichts neues...

python

python
import p5

def setup():
p5.createCanvas(200, 200)

def draw():

p5.run()

python

python

...wenn wir dies aber minimal verändern...

python

python
import p5

def setup():
p5.createCanvas(200, 200)

def draw():
global c

p5.run()

python

python

Dann können wir Objekte animieren und verändern.

Neue Konzepte:
* Variablen sind immer nur innerhalb der Funktion bekannt, in der sie definiert wurden.
* Möchte man auf eine Variable zugreifen, die außerhalb definiert wurde, so muss man einmal am Anfang der Funktion

python

global [Variablenname]

python

python

Mit Variablen kann man noch mehr machen...

python

python
import p5

show = True

def setup():
p5.createCanvas(200, 200)

def draw():
global show
p5.clear()

if show:

show = not show

p5.run()

python

python

...oder Objekte bewegen...

python

python
import p5

def setup():
p5.createCanvas(200, 200)

def draw():
global x
p5.clear()

p5.run()

python

python

...neue Konzepte:

python

löscht den Bildschirm. Dies ist notwendig, damit Objekte keine "Spur" hinterlassen. Probiere aus, was passiert, wenn du

python

python

### Zufall

Experimentiere auch, wie du mit Hilfe des Zufalls Bilder zeichnen kannst:

python

python
import p5

def setup():
p5.createCanvas(200, 200)

def draw():
global x, y
p5.clear()

p5.run()

python

python

### Mehrere Objekte

Du kannst auch mehrere Objekte animieren. Experimentiere mit folgendem Programm:

python

python
import p5

frame = 0
speed = 1

def setup():
p5.createCanvas(200, 200)

def draw():
global frame, speed
p5.clear()
for x in xliste:
frame = frame + 1

p5.run()