J'écris un script dans AutoHotKey, et je suis tombé sur une impasse. À l'heure actuelle, j'ai une interface graphique de travail qui implique des cases à cocher et des listes déroulantes. Le programme est un script de macro pour les jeux - l'utilisateur vérifie quelles macros il veut exécuter en arrière-plan, soumet ses options, et le programme évalue constamment diverses conditions et exécute des commandes selon que ces conditions soient satisfaites ou non. Le modèle de chacun des macros est la suivante:Question sur les boucles complexes
Loop:
PixelGetColor, color, 488, 778 ;gets pixel color of specific coordinate
if thecolor = 0x000000 ; if the color is black
{
SendInput {Raw}f ;sends the f command to use item
}
else sleep 20
goto, Loop
Ainsi, les boucles macro, l'évaluation d'un pixel chaque 2 millisecondes, et l'envoi d'entrée si l'instruction if est remplie.
Voici le problème: Pour chacune des macros que l'utilisateur peut vérifier pour s'exécuter en arrière-plan, il existe une couleur de pixel différente identifiée, une entrée différente envoyée et une coordonnée différente à évaluer. Comment puis-je créer une boucle globale qui prenne en compte les choix de cases à cocher des utilisateurs? Par exemple, si la case = 1 (sélectionné), je pourrais être comme:
if(%Box1%=1)
{
Run above code
}
Mais si les contrôles utilisateur 1 et 2, je vais devoir évaluer d'autres coordonnées, aussi. Comme ainsi:
if(%Box1%=1 & %Box2%=2)
{
Run above code
+
PixelGetColor, color2, 510, 778
if thecolor = 0x000000
{
Send 1
Sleep 20000
goto, start
}
else, sleep 20
Je ne veux pas avoir de multiples boucles différentes qui exécutent un après l'autre parce qu'il serait trop lent, et je ne veux pas avoir à faire une énorme branche de tous les possibles « si 'permutations. Est-ce que quelqu'un sait quoi faire?
Qu'est-ce que cela a à voir avec javascript? –
l'a marqué accidentellement comme tel. Comment je detag? – Parseltongue