lehrkraefte:blc:informatik:glf20:tasten

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 und ivobuttons.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.

  • lehrkraefte/blc/informatik/glf20/tasten.txt
  • Last modified: 2020/12/10 08:30
  • by Ivo Blöchliger