Tasten auslesen
Wir werden hier eine eigene Bibliothek ivobuttons
verwenden.
Laden Sie folgendes Programm auf die OxoCard und drücken Sie einzelne Tasten und dann mehrere Tasten auf einmal. Werden dabei die beiden unten links gedrückt, wird auf jeden Fall die OxoCard neu gestartet.
from oxocard import * from ivobuttons import * ivobuttons.delay=0 # Tasten sofort repetieren ivobuttons.repeat_delay=0 # Tasten ohne Unterbruch repetieren while True: s = ivobuttons.states() # Zustand der Tasten auslesen display(str(s), GREEN) # Auf dem Display anzeigen if s==24: # Beide Knöpfe links (16+8) -> Programmende break display("OK", RED)
Beachten Sie, dass diese Programm nicht ohne Weiteres im Simulationsmodus läuft. Dazu müssen Sie erst noch die Datei ivobuttons.py (Rechtsklick, speichern unter…) im gleichen Ordner wie ihr Programm speichern.
Testen Sie folgendes Programm auf der OxoCard (drücken Sie dazu beliebige Kombinationen der rechten Tasten):
from oxocard import * from ivobuttons import * ivobuttons.delay=0 # Tasten sofort repetieren ivobuttons.repeat_delay=0 # Tasten ohne Unterbruch repetieren while True: r,g,b = 0,0,0 s = ivobuttons.states() if s & IVO_R1: r = 255 if s & IVO_R2: g = 255 if s & IVO_R3: b = 255 # Schnell zeichnen for x in range(2,6): for y in range(2,6): fastDot(x,y,(r,g,b)) # Zeigt noch nichts an fastRepaint() # Das gezeichnete anzeigen
- Was passiert genau beim “Schnell zeichnen”?
- Setzen Sie die Variablen
ivobuttons.delay
undivobuttons.repeat_delay
auf 800 und 300 und testen Sie das Programm noch einmal. Die Zahlen sind in Millisekunden. - Schauen Sie sich das Interface der ivobuttons-Bibliothek an.
Fahren Sie weiter mit dem Game-Loop.