¿Cómo guardar todas las posiciones X, Y encontradas en un solo ciclo de búsqueda de imágenes en diferentes variables?
¿Cómo guardar todas las posiciones X,Y encontradas en un solo ciclo de búsqueda de imágenes en diferentes variables?
Mi búsqueda de imágenes en un ciclo encuentra un número aleatorio de cuadrados amarillos (esta vez 3 cuadrados, a veces más). Hace clic derecho en un cuadrado amarillo que luego desaparece (lo que ayuda a encontrar el siguiente cuadrado al instante). Hace clic derecho en uno de nuevo y así sucesivamente. Se detiene el ciclo cuando no hay más cuadrados que encontrar (desaparecen uno por uno).
Funciona, pero ¿cómo guardar las 3 posiciones encontradas como 3 variables diferentes (para llamarlas más tarde)? Puedo hacerlo sin el ciclo, pero necesito el ciclo.
Estoy usando la función FINDTEXT de feiyue y no puedo cambiar el código al principio:
# Include & lt; FindText & gt;
z ::
;;; Esta es solo mi búsqueda inicial de dos imágenes para configurar mi rango de búsqueda que funciona bien.
Text: = & quot; | & lt; wcBL_c95 & gt; 0x0D0D0D @ 0.95 $ 11.VV8GUI0A0s1U1E + EYADzk & quot;
si (ok: = FindText (aX, aY, 0, 0, 1918, 1078, 0, 0, Text))
Text: = & quot; | & lt; wcTR_c95 & gt; 0x0D0D0D @ 0.95 $ 11.zy64V + 1E0k3U6050d2Ekk & quot;
si (ok: = FindText (bX, bY, 0, 0, 1918, 1078, 0, 0, Text))
;;; === & gt; Las 4 líneas anteriores buscan las coordenadas en mi pantalla para mirar. Puede ignorar esta parte, pero esto me da el RANGO de coordenadas para hacer mi búsqueda en bucle como se ve a continuación: aX, bY, bX, aY
Loop {
Text: = & quot; | & lt; wc _c100 & gt; 0xD9D4D4 @ 1.00 $ 6.SzzzzSU & quot;
si (ok: = FindText (VarX, VarY, aX + 11, bY, bX - 11, ay, 0, 0, Text)) {
MouseClick, Right, X, Y, 1, 1 ; Este ciclo encuentra 3 cuadrados.
VarX1: =% X
VarY1: =% Y ; ¿Cómo puedo incrementar estos para los siguientes ciclos?
} else break
}
MouseMove, VarX1, VarY1, 1
sleep, 333
MouseMove, VarX2, VarY2, 1 ; No existe (necesito incrementar las variables en el ciclo - ¡AYUDA!)
sleep, 333
MouseMove, VarX3, VarY3, 1 ; No existe (necesito incrementar las variables en el ciclo - ¡AYUDA!)
Return
davy.ai
Para guardar todas las posiciones X e Y encontradas en un ciclo de búsqueda de imagen en diferentes variables, puede utilizar un arreglo para almacenar las posiciones X e Y. Inicialice el arreglo antes de comenzar el ciclo y use una variable para incrementar el índice del arreglo dentro del ciclo. Aquí hay un ejemplo de código para lograr esto:
En el código anterior, inicializamos un arreglo vacío llamado
posiciones
. Dentro del ciclo, utilizamos el métodoPush
para agregar cada posición X e Y al arreglo como una nueva submatriz. Después del ciclo, accedemos a cada posición guardada indexando en el arreglo utilizando la sintaxisposiciones[i][j]
, dondei
es el índice de posición (comenzando desde 0) yj
es 0 para valores X y 1 para valores Y.