Всем привет ;), кто читает эту тему, прошу помочь с решением моей проблемы.
Суть заключается в том, что я пытаюсь сканировать определённый участок на мониторе, при нахождении пикселя который мне нужен я вызываю автоматический клик мышки в заданном месте.
Вот код:
И так вроде бы всё написано грамотно и вроде всё работает :beer:, но в блоке где я сделал проверку, где мышка гоняется за моим "сканером" можно увидеть что скорость перебора пикселей очень - очень мала, а мне нужно отслеживать мяч который движется очень быстро , вот и выходит у меня, что ничего не выходит! :'(
Вот обзор на собственно в чём я пытаюсь реализовать свой код :
Ну и в заключении укажу суть проблемы:
Фух, вроде всё :wacko:
Суть заключается в том, что я пытаюсь сканировать определённый участок на мониторе, при нахождении пикселя который мне нужен я вызываю автоматический клик мышки в заданном месте.
Вот код:
Код:
HotKeySet("{ESC}", "OnAutoItExit")
HotKeySet("{Home}", "Scaner")
Func OnAutoItExit()
Exit
EndFunc
Func Scaner()
dim $iX = 675 ;max R
dim $iY = 577 ;max D
dim $iXo = -1
dim $iYo = -1
while 1
;------------------------------------- Эта часть была написана исключительно для проверки работоспособности программы!
MouseMove ( $iX, $iY , 1)
;--------------------------------------
$var = PixelGetColor($iX, $iY) ;Здесь у нас берется пиксель для сравнивания с цветами которые перечислены ниже!
$cvet1 = 0xFFFFFF
$cvet2 = 0x333333
$cvet3 = 0x666666
$cvet4 = 0x999999
$cvet5 = 0x4C4C4C
if $var = $cvet1 or $var = $cvet2 or $var = $cvet3 or $var = $cvet4 or $var = $cvet5 Then ;Само сравнивание
MouseClick ("left" , 842, 459 , 1 , 1)
EndIf
if $iY = 564 Then ;механизм перебора координат
$iX = $iX + $iXo
$iY = 565
Else
$iY = $iY + $iYo
EndIf
if $iY = 564 Then
$iYo = 1
Elseif $iY = 577 Then
$iYo = -1
EndIf
if $iX = 640 Then
$iXo = 1
Elseif $iX = 675 Then
$iXo = -1
EndIf
WEnd
EndFunc
while 1
sleep (100) ;отдел ожидания нажатия клавиши Home
WEnd
И так вроде бы всё написано грамотно и вроде всё работает :beer:, но в блоке где я сделал проверку, где мышка гоняется за моим "сканером" можно увидеть что скорость перебора пикселей очень - очень мала, а мне нужно отслеживать мяч который движется очень быстро , вот и выходит у меня, что ничего не выходит! :'(
Вот обзор на собственно в чём я пытаюсь реализовать свой код :
http://www.youtube.com/watch?v=qypc65vqVnE
Как видно на видео, я пытаюсь словить мячик в определённой области и нажать на кнопку ударить....
Как видно на видео, я пытаюсь словить мячик в определённой области и нажать на кнопку ударить....
Ну и в заключении укажу суть проблемы:
Как же мне ускорить процесс перебора?
Или как переписать код что бы он работал?
Либо подскажите как это можно реализовать?
Или как переписать код что бы он работал?
Либо подскажите как это можно реализовать?
Фух, вроде всё :wacko: