Bis jetzt habe ich UWSC ausschließlich für die PC-Automatisierung verwendet, daher war ich an Python interessiert, hatte aber keine Chance, es zu lernen, aber ich dachte, ich würde aufgrund der aktuellen Situation von UWSC nicht irgendwo anfangen, also habe ich es neulich begonnen. Dank Sukusta (Love Live Sound Soshage) bekam ich die Motivation, automatisch die MV des Spiels zu spielen, und nutzte diese Gelegenheit, um Python zu starten.
Für die Bequemlichkeit des Inhalts geht es fast um das Automatisierungsmakro von Soshage mit Android-Emulation wie Nox und Bluestacks.
Windows10 64bit Python3.8 64bit Bluestacks4
Ich war mit Nox für Android Emu ratlos, aber ich habe Bluestacks für Nox verwendet, weil die Lippensynchronisation um etwa 10 Frames deaktiviert ist.
pip install pyautogui
Es scheint, dass es nicht von der Automatisierung mit Python ausgeschlossen werden kann.
Der Vorgang besteht einfach darin, die MV-Taste auf dem Bildschirm unter und zu drücken Drücken Sie die Wiedergabetaste an der Stelle, an der sich der Bildschirm ändert. Führen Sie danach eine Schleife durch, bis der Song beendet ist und die MV-Taste in Bild 1 angezeigt wird.
Konstanter Deklarationsteil
MAIN_PATH=".\\MVPlay\\"
FILE_TYPE="*.png "
X:int=0
Y:int=1
Haupt code
coding:utf-8
import pyautogui
import glob
import time
from pydef import*
def counterModeSerial(i:int,maxcount:int):
if i>=maxcount:
return 0
else:
return i+1
def main(files:list,loopmode:int,waittime:int):
i:int=0
while True:
loc=pyautogui.locateCenterOnScreen(files[i])
if not(loc==None):
time.sleep(waittime)
pyautogui.click(loc[X],loc[Y])
i=counterModeSerial(i,len(files)-1)
time.sleep(waittime)
flist=glob.glob(MAIN_PATH+FILE_TYPE)
main(flist,0,0.5)
Wenn Sie das Image der Komponente, auf die Sie tippen möchten, zuschneiden und in den Ordner legen, wird es nacheinander ausgeführt. In diesem Fall handelt es sich um ein Bild der MV oder der Wiedergabetaste. Wenn Sie einen MVPlay-Ordner erstellen und eine PNG-Datei darin ablegen, wird "Erkennen-> Tippen-> Nächste Datei-> Erkennen ... Zurück zum Anfang, wenn das letzte Bild erkannt wird" in der Reihenfolge der Sortierung nach Dateinamen wiederholt. Da es keinen Beendigungsprozess gibt, müssen Sie den Prozess über den Task-Manager beenden, es sei denn, Sie starten ihn mit dem Debugger.
Wenn Sie ein Bild in einen Ordner legen, erkennt es das Bild, klickt darauf und wechselt in den nächsten Status. Es scheint also für 2D-Soshage-Runden ausreichend zu sein.
Abgesehen von Referenzen und Variablendeklarationen halte ich es für eine gute Idee, mit etwa 10 Codezeilen zu arbeiten, und ich denke, es soll einfach und leistungsstark sein. Die Funktion locateOnScreen unterstützt keine Mehrfachanzeige und überprüft nur die primäre Anzeige (ich habe es geschafft, den Arbeitsmonitor durch die sekundäre zu ersetzen), aber es gab einige Beschwerden wie langsame Bilderkennung, aber insgesamt Es war einfach zu bedienen. Ist es nicht so, dass der alte Mann der Meinung ist, dass es ein wenig beängstigend ist, das Verschachteln mit Einrückungen auszudrücken? Gibt es einen Vorteil, dass die Lesbarkeit verbessert wird, weil saubere Einrückungen erzwungen werden?
Vorerst wurde das Ziel erreicht, aber damit kann nur ein Song geloopt werden, und der Mauszeiger und das aktive Fenster werden beim Drücken der Taste angezeigt, sodass wir Dinge wie das Senden von Befehlen über ADB verbessert haben. Ich würde gerne gehen.
Recommended Posts