Jouez en continu le MV du premier Python Skusta

Premier Python

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.

environnement

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.

Installez pyautogui

pip install pyautogui

Il semble qu'il ne puisse pas être exclu de l'automatisation avec Python.

conception

L'opération consiste simplement à appuyer sur le bouton MV sur l'écran ci-dessous et 名称未設定.jpg Appuyez sur le bouton de lecture à l'endroit où l'écran change. 2.jpg Après cela, bouclez jusqu'à ce que la chanson soit terminée et que le bouton MV de l'image 1 s'affiche.

code

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.

Sentiments divers

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?

finalement

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

Jouez en continu le MV du premier Python Skusta
Jouez le MV de Python Skusta pour la première fois en continu - Faites défiler la liste des chansons -
First Python 3 ~ Le début de la répétition ~
Voir python pour la première fois
La première étape de Python Matplotlib
Jouez en accédant à l'API Riot Games en Python Première moitié
MongoDB avec Python pour la première fois
Premier Python
Premier Python 3 ~ Première comparaison ~
La première application Web créée par des débutants en Python
La première étape du problème de réalisation des contraintes en Python
Jouer Python async
Jouez avec 2016-Python
J'ai essayé la programmation python pour la première fois.
Premier Python
Premier Python ~ Codage 2 ~
Premier python [O'REILLY]
Ce que je suis entré dans Python pour la première fois
J'ai essayé Python sur Mac pour la première fois.
J'ai essayé python pour la première fois avec heroku
La première étape pour obtenir Blender disponible à partir de Python
Pourquoi le premier argument de la classe [Python] est-il self?
Trouvez le maximum de Python
Première 3e édition de Python
Le premier "JDBC" OR
PyQ ~ Première étape de Python ~
Premier traitement d'image Python
Jouez à YouTube en Python
le zen de Python
[Python] Premier SVM de Python / Scikit-learn
La première «fonction» GOLD
Premier mémo divers sur Python
[Python] Fractionner la date
[Python] Chapitre 01-01 À propos de Python (First Python)
Jeu de main Python (division)
La première API à créer avec le framework Python Djnago REST
[Python] Qui est exécuté en premier, variable de classe ou __init__?
Jouez avec le mécanisme de mot de passe de GitHub Webhook et Python