Je veux automatiser la lecture d'un jeu vidéo avec Python. Je veux écrire un script qui saisit l'image de l'écran, la diffère avec l'image suivante et suivre un objet sur lequel cliquer. Quelles bibliothèques seraient utiles pour cela autre que PIL?Comment suivre un objet animé en Python?
Répondre
Il y a quelques options ici. L'approche de la force brute diff'ing entraînera beaucoup de frustration à moins que ce que vous suivez est très cohérent. Pour cela, vous pouvez utiliser un certain nombre d'approches génétiques pour former votre programme à suivre. Après suffisamment de générations, il ferait la bonne chose de manière fiable. Si la chose que vous voulez suivre est visuellement évidente (comme une boule rouge sur un écran blanc) alors vous pouvez le détecter vous-même grâce à une simple analyse de force brute de l'image bitmap.
Une autre approche consisterait simplement à regarder la mémoire de l'application en cours d'exécution et à déterminer quelle zone contrôle la position de votre objet. Pour plus d'informations et d'idées à ce sujet, voyez comment le mumble a obtenu l'audio positionnel 3D dans divers jeux.
réponse dépend de la plate-forme et jeu aussi. par exemple. J'ai fait une fois des choses similaires pour le jeu flash d'hélicoptère, car il était très simple jeu 2d avec labyrinthe coloré bien défini Il était sur les veuves avec copier dans le presse-papiers et les événements clés win32 en utilisant win32api bindings pour python.
Vous devez être un peu plus précis. Comment allez-vous le "diff"? Y a-t-il un fond qui défile? Est-ce basé sur sprite? Quel type de jeu est-ce? – endolith