Ich habe UI auf Pythonista verwendet, um einfache Apps zu erstellen. Früher habe ich einen Launcher verwendet, der Apps mit einem Schlag wechselt, also habe ich darüber nachgedacht, ihn zu reproduzieren, aber es fiel mir schwer, weil es auf Japanisch nicht viele Informationen über Berührungen gab, und ich dachte, ich würde ihn als Memorandum belassen.
pythonista 3 ver. 3.2 iphone 11 iOS13.2.3
Ich denke darüber nach, eine App zu erstellen, die die Richtung des Films ermittelt und die zu startende App auswählt. Daher ist das Programm darauf ausgelegt, die Richtung des Films zu ermitteln. Das tatsächliche Verhalten ist wie das Lernen, wenn eine Methode aufgerufen wird.
touchTest.py
import scene
import numpy as np
class MyScene(scene.Scene):
def setup(self):
self.backgroud_color = '#3a3aff'
#Start- und Endpunkte des Flick-Vektors
self.startpoint = np.array([0, 0])
self.endpoint = np.array([0, 0])
def touch_began(self, touch):
'''Die Methode, die aufgerufen wird, wenn Sie die Berührung starten'''
#Merken Sie sich den Startpunkt des Vektors
self.startpoint = np.array([touch.location.x, touch.loctaion.y])
#Um die Berührung zu bestätigen, drucken Sie entsprechend der berührten Stelle.
if touch.location.x > self.size[0] / 2: #Wenn sich die Berührung in der rechten Bildschirmhälfte befindet
print('Right')
else:
print('Left')
def touch_moved(self, touch):
'''Eine Methode, die beim Berühren wiederholt aufgerufen wird'''
print('Moving !')
def touch_ended(self, touch):
'''Die Methode, die aufgerufen wird, wenn Sie während der Berührung mit dem Finger sprechen'''
#Holen Sie sich den Endpunkt des Vektors und finden Sie den gestrichenen Vektor
self.endpoint = np.array([touch.location.x, touch.loctaion.y])
vec = self.endpoint - self.startpoint
#Wenn der Startpunkt des Vektors zum Ursprung gebracht wird, ändert sich die Anzeige abhängig davon, in welchem Quadranten sich der Endpunkt befindet.
if vec[0] >= 0 and vec[1] > 0:
print('Up right !')
elif vec[0] < 0 and vec[1] >= 0:
print('Up left')
elif vec[0] <= 0 and vec[1] < 0:
print('Down left')
elif vec[0] > 0 and vec[1] <= 0:
print('Down right')
if __name__ == '__main__':
scene.run(MyScene())
Wenn Sie es ausführen, wird ein blauer Bildschirm angezeigt. Wenn Sie das Display auf der Konsole berühren oder bewegen und darauf schauen, können Sie sehen, wie es funktioniert. Wenn die Launcher-Anwendung realisiert werden kann, kann sie auf Qiita aktualisiert werden. .. ..
Ich hoffe, dass mehr Menschen Pythonista als Hobby wie ich genießen werden.
Recommended Posts