M5Dial Touch: Unterschied zwischen den Versionen
Zur Navigation springen
Zur Suche springen
Zeile 18: | Zeile 18: | ||
Sie soll eine ID des aktivierten Elementes und die Dauer der Berührung zurückgeben oder eine Funktion ausführen und ggf. deren Rückgabe zurückgeben. | Sie soll eine ID des aktivierten Elementes und die Dauer der Berührung zurückgeben oder eine Funktion ausführen und ggf. deren Rückgabe zurückgeben. | ||
=== Datenstruktur für jedes Touch-Element=== | === Datenstruktur für jedes Touch-Element=== | ||
Die unten dargestellte Datenstruktur soll für jedes aktuell zu überwachende Touch-Element erstellt und in einer Liste zusammengefasst werden. Diese Liste wird an die Funktion übergeben. | |||
<pre> | <pre> | ||
# so: | # so: |
Version vom 27. April 2024, 16:46 Uhr
Die Verwendung des Touchscreens hält noch einige Hürden bereit.
Das Grundprinzip ist mit M5.Touch.getCount() abzufragen, ob der Touchscreen berührt wird. Nicht berührt wird 0, bei Berührung 1 zurückgegeben.
Das funktioniert aber nicht als Argument für if und while!
Ideen für eine Touch-Service-Routine
Ich möchte eine Funktion schreiben, die aktiverte Touch-Elemente findet.
Sie soll eine ID des aktivierten Elementes und die Dauer der Berührung zurückgeben oder eine Funktion ausführen und ggf. deren Rückgabe zurückgeben.
Datenstruktur für jedes Touch-Element
Die unten dargestellte Datenstruktur soll für jedes aktuell zu überwachende Touch-Element erstellt und in einer Liste zusammengefasst werden. Diese Liste wird an die Funktion übergeben.
# so: touch_data = {'x1':0, 'y1':0, 'x2':100, 'y2':50, 'id':42, 'func':None} # oder so: touch_data_1 = {'startpoint':(0, 0), 'endpoint':(100, 50), 'id':42, 'func':None}
- x1, y1, startpoint
- die Koordinaten oben links des Touch-Elementes
- x2, y2, endpoint
- die Koordinaten unten rechts des Touch-Elementes
- id
- individuelle Kennung des Touch-Elementes
- func
- Name einer Funktion die ausgeführt werden soll, wenn das Touch-Element aktiviert wird.