PixelSearch (problema de expresion)
PixelSearch (problema de expresion)
Hola que tal, os explico mi idea, seguramente sera facil, pero soy un poco burro a la hora de escribirlo.
Yo quiero, que cuando encuentre 1 pixel en una zona determinada haga 1 cosa, y sin embargo, sino lo encuentra haga otra. Yo he puesto esto pero pienso que esta mal expresado porque no me funciona.
If PixelSearch(44,55, 55, 44, 0xA13C23, 1) Then
Sleep(50)
Else
Sleep(90)
EndIf
Tambien lo he expresado asi pero no se ni por k XD
If PixelSearch(44,55, 55, 44, 0xA13C23, 1)==1 Then
Sleep(50)
Else
Sleep(90)
EndIf
Gracias!
Yo quiero, que cuando encuentre 1 pixel en una zona determinada haga 1 cosa, y sin embargo, sino lo encuentra haga otra. Yo he puesto esto pero pienso que esta mal expresado porque no me funciona.
If PixelSearch(44,55, 55, 44, 0xA13C23, 1) Then
Sleep(50)
Else
Sleep(90)
EndIf
Tambien lo he expresado asi pero no se ni por k XD
If PixelSearch(44,55, 55, 44, 0xA13C23, 1)==1 Then
Sleep(50)
Else
Sleep(90)
EndIf
Gracias!
Re: PixelSearch (problema de expresion)
No soy ninguna experta, pero PixelSearch devuelve un array.
Tonces
Tonces
Código: Seleccionar todo
If IsArray(PixelSearch(...)) Then
Opcion A ;Aquí si.
Else
Opcion B ;Aquí no ha encontrado pixel.
EndIf
- Chefito
- Profesional del Autoit
- Mensajes: 2035
- Registrado: 21 Feb 2008, 18:42
- Ubicación: Albacete/Cuenca (España)
Re: PixelSearch (problema de expresion)
Lo explica perfectamente en la ayuda. Si da @error=1 es que no lo ha encontrado, y si lo encuentra da @error=0. Si encuentra el color, la función devuelve un array de dimensión 2, las cuales son las coordenadas del pixel encontrado, x e y.
Mirando el ejemplo, y adaptandolo un poco:
Saludos.
Mirando el ejemplo, y adaptandolo un poco:
Código: Seleccionar todo
; Find a pure red pixel in the range 0,0-20,300
Local $coord = PixelSearch(0, 0, 20, 300, 0xFF0000)
If Not @error Then
MsgBox(0, "X and Y are:", $coord[0] & "," & $coord[1])
else
msgbox(0,"No encontrado", "El pixel de ese color no ha sido encontrado")
EndIf
Cita vista en algún lugar de la red: En este mundo hay 10 tipos de personas, los que saben binario y los que no ;).
Re: PixelSearch (problema de expresion)
Vale gracias a los dos, al final lo he puesto asi
PixelSearch(44,55, 55, 44, 0xA13C23, 1)
If not @error then
Sleep(50)
Else
Sleep(90)
EndIf
Gracias.
PixelSearch(44,55, 55, 44, 0xA13C23, 1)
If not @error then
Sleep(50)
Else
Sleep(90)
EndIf
Gracias.
Re: PixelSearch (problema de expresion)
En este caso, si se da que encuentra el pixel, directamente leera "Estudiar" (no leera "Marmol" ) y seguira leyendo "Minotauro".
Ahora os pongo otro ejemplo a ver si seria posible o como tendria que ponerlo.
Yo simplemente quiero que empiece a leer y que si encuentra el pixel Directamente haga lo que pone en "Estudiar" pero sin embargo que deje de leer es decir, que no lea "Minotauro" (o todo lo que haya despues) y que directamente vuelva a empezar.
Gracias Un saludo-
Código: Seleccionar todo
While1
Jose()
Arbol()
Tesoro()
PixelSearch(44,55, 55, 44, 0xA13C23, 1)
If not @error then
Estudiar()
Else
Marmol()
EndIf
Minotauro()
WEnd
Código: Seleccionar todo
While1
Jose()
Arbol()
Tesoro()
PixelSearch(44,55, 55, 44, 0xA13C23, 1)
If not @error then
Estudiar()
EndIf
Minotauro()
WEnd
Gracias Un saludo-
Re: PixelSearch (problema de expresion)
Hola Josede:
Con tú último código ¿has probado a poner Minotauro() después de WEnd ?
Con esto lo sacas del bucle ¿funciona?
Con tú último código ¿has probado a poner Minotauro() después de WEnd ?
Con esto lo sacas del bucle ¿funciona?
Re: PixelSearch (problema de expresion)
Pero si lo saco, no lo leera nunca. Yo lo unico que quiero es que si en alguna ocasion encuentra el pixel, vuelva empezar desde el principio directamente y en el caso de que no encuentre el pixel, siga leyendo en este caso Minotauro() o lo que hubiere.
Re: PixelSearch (problema de expresion)
Entonces cojes y pones:
Exit: Para salir del script.
ExitLoop: Para salir del bucle en el que estés.
Exit: Para salir del script.
ExitLoop: Para salir del bucle en el que estés.
Re: PixelSearch (problema de expresion)
Osea que si pongo Exitloop, volveria a empezar desde el principio? gracias
Re: PixelSearch (problema de expresion)
Yeah, saldrías del Loop, pero en la línea siguiente es decir. Si sólo tienes un bucle se acabo.Josede escribió:Osea que si pongo Exitloop, volveria a empezar desde el principio? gracias