Что нового

Странные координаты в константе

yohohox

Новичок
Сообщения
2
Репутация
0
Бодрое время суток товарищи.
Гуглил, гуглил, не нашел ответ на свой вопрос, подскажите Вы пожалуйста.

Есть такая константа:

Код:
Global const $CHECK_SCREEN_COLOR = "70:91.1 | 0x224872, 0x1B406B, 0x6A401A";


С цветами все понятно, а вот что за странное указание координат?
Впервые такое вижу и немогу понять. В справке по Autoit не нашел чего то подобного.
Подскажите пожалуйста что это, и как с такими координатами работать и находить их.
Спасибо.
 

hedji

Продвинутый
Сообщения
409
Репутация
94
Вы код прикрепите, где эта константа используется.
 
Автор
yohohox

yohohox

Новичок
Сообщения
2
Репутация
0
hedji сказал(а):
Вы код прикрепите, где эта константа используется.

Извиняюсь. Вот, пожалуйста:

Код:
If CheckForPixel($CHECK_SCREEN_COLOR) = True Then
	SetLog("COLOR FOUND", $COLOR_PINK)
	ClickControlPos($POS_COMMON_FINISH_BUTTON)
EndIf


Функция CheckForPixel:

Код:
Func CheckForPixel($screenInfo, $PixelTolerance = 12)

   Local $infoArr = StringSplit($screenInfo, "|")
   Local $posArr = StringSplit($infoArr[1], ",")

   If UBound($infoArr) - 1 >= 3 Then
	  $PixelTolerance = Number($infoArr[3])
   EndIf

   Local Const $RegionSize = 3

   Local Const $WinX = $WinRect[0] - $ThickFrameSize
   Local Const $WinY = $WinRect[1] - $NoxTitleBarHeight

   $okCount = 0
   For $p = 1 To UBound($posArr) - 1
	  Local $pos = ControlPos($posArr[$p])
	  $x = $WinX + $pos[0]
	  $y = $WinY + $pos[1]

	  Local $found = False
	  Local $colorArr = StringSplit($infoArr[2], ",")
	  Local $answerColor = PixelGetColor($x, $y)

	  For $c = 1 To UBound($colorArr) - 1
		 Local $color = StringStripWS($colorArr[$c], $STR_STRIPLEADING + $STR_STRIPTRAILING)
		 Local $aCoord = PixelSearch($x, $y, $x+$RegionSize, $y+$RegionSize, $color, $PixelTolerance)
		 If Not @error Then
			_log("CheckForPixel : [" & $p & "] " & $pos[0] & " x " & $pos[1] & " => OK " & ($aCoord[0] - $WinX) & " x " & ($aCoord[1] - $WinY) & ", " & $color & " (" & Hex($answerColor) & ") <" & $PixelTolerance & ">");
			$okCount = $okCount + 1
			$found = True
			ExitLoop
		 EndIf
	  Next

	  If $found = False Then
		 _log("CheckForPixel : " & $pos[0] & "(" & $x & ") x " & $pos[1] & "(" & $y & ") => FAIL (" & Hex($answerColor) & ") : " & $screenInfo)
		 ExitLoop
	  EndIf
   Next

   If $okCount == UBound($posArr) - 1 Then
	  Return True
   EndIf

   Return False
EndFunc
 

stealzy

Новичок
Сообщения
2
Репутация
0
Из CheckForPixel() $posArr уходит в другую ф-ию, кода которой вы не дали.
 
Верх