Jusqu'à présent, j'utilisais UWSC exclusivement pour le travail d'automatisation PC, donc j'étais intéressé par Python, mais je n'ai pas eu la chance de l'apprendre, mais je pensais que je ne commencerais pas quelque part en raison de la situation actuelle de UWSC, alors je l'ai commencé l'autre jour. Grâce à Sukusta (love live sound soshage), j'ai eu la motivation de jouer automatiquement le MV du jeu, j'ai donc profité de cette opportunité pour démarrer Python.
Pour la commodité du contenu, il s'agit presque de la macro d'automatisation de Soshage utilisant l'émulation Android telle que Nox et Bluestacks.
Windows10 64bit Python3.8 64bit Bluestacks4
J'étais perdu avec Nox pour Android Emu, mais j'ai utilisé Bluestacks pour Nox car la synchronisation labiale est désactivée d'environ 10 images.
pip install pyautogui
Il semble qu'il ne puisse pas être exclu de l'automatisation avec Python.
L'opération consiste simplement à appuyer sur le bouton MV sur l'écran ci-dessous et Appuyez sur le bouton de lecture à l'endroit où l'écran change. Après cela, bouclez jusqu'à ce que la chanson soit terminée et que le bouton MV de l'image 1 s'affiche.
Partie de déclaration constante
MAIN_PATH=".\\MVPlay\\"
FILE_TYPE="*.png "
X:int=0
Y:int=1
Code principal
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)
Si vous recadrez l'image du composant sur lequel vous souhaitez appuyer et que vous la placez dans le dossier, elle sera exécutée de manière séquentielle. Dans ce cas, ce sera une image de MV ou de bouton de lecture. Si vous créez un dossier MVPlay et y placez un fichier png, répétez "Reconnaître-> Appuyez sur-> Fichier suivant-> Reconnaître ... Revenir au début lorsque la dernière image est reconnue" dans l'ordre trié par nom de fichier. Puisqu'il n'y a pas de processus d'arrêt, vous devez tuer le processus du gestionnaire de tâches à moins que vous ne le démarriez avec le débogueur.
Si vous mettez une image dans un dossier, il reconnaîtra l'image, cliquera dessus et passera à l'état suivant, il semble donc que ce sera suffisant pour les tours de soshage 2D tel quel.
Sauf pour les références et les déclarations de variables, je pense que c'est une bonne idée de travailler avec environ 10 lignes de code, et je pense que c'est juste dit simple et puissant. La fonction LocateOnScreen ne prend pas en charge le multi-affichage et ne vérifie que l'affichage principal (j'ai réussi à remplacer le moniteur de travail par le secondaire), mais il y avait quelques plaintes telles que la reconnaissance d'image lente, mais dans l'ensemble C'était facile à utiliser. N'est-ce pas parce que le vieil homme pense qu'exprimer une imbrication avec des retraits est un peu effrayant, y a-t-il un avantage à ce que la lisibilité soit améliorée parce que les retraits nets sont forcés?
Pour le moment, l'objectif a été atteint, mais avec cela, une seule chanson peut être mise en boucle, et le curseur de la souris et la fenêtre active sont amenés lorsque le bouton est enfoncé, nous avons donc amélioré des choses telles que l'envoi de commandes via ADB. J'aimerais partir.
Recommended Posts