循环内的 pixelgetcolor 有问题,愿意接受任何建议
Having problem with pixelgetcolor within loop and would be open to any suggestion
这是我的代码。我想要做的是,当我找到这种颜色时,这个循环会完成它正在做的事情。
我相信问题出在 pixelgetcolor 的坐标上,我不知道如何将坐标放在那里。我试过 pixelsearch 但没有成功 either.Do 你有什么建议我应该怎么做?这个想法是不停地点击,除非这个颜色出现在屏幕上。
CoordMode, Mouse, Screen
CoordMode, Pixel, Screen
Loop ; This loop do non stop, unless the color is on the screen.
{
MouseMove, %X%, %Y%
Click
sleep,%flick%
Click
sleep,%flick1%
PixelGetColor,Dead_Monster,X,Y,RGB
if(Dead_Monster = 0x3CC4C4)
{
break ¸
}
}
您需要将变量包装在 %
中,以便 PixelGetColor
使用这些变量的值。此外,您的变量 X 和 Y 永远不会在任何地方设置...
CoordMode, Mouse, Screen
CoordMode, Pixel, Screen
; initial values?
X := 800
Y := 600
Loop ; This loop do non stop, unless the color is on the screen.
{
MouseMove, %X%, %Y%
Click
sleep,%flick%
Click
sleep,%flick1%
PixelGetColor,Dead_Monster,%X%,%Y%,RGB
if(Dead_Monster == 0x3CC4C4){
break
}
; insert line here to update X, Y ?
}
如果您要在屏幕上搜索某个像素,可以执行以下操作:
; Modified example from https://www.autohotkey.com/docs/commands/PixelSearch.htm
Dead_Monster := 0x3CC4C4
;Search rectangle
S_Left := 0
S_Top := 0
S_Bottom := A_ScreenHeight
S_Right := A_ScreenWidth
PixelSearch, Px, Py, %S_Left%, %S_Top%, %S_Bottom%, %S_Right%, %Dead_Monster%, 3, Fast
if ErrorLevel
MsgBox, That color was not found in the specified region.
else
MsgBox, A color within 3 shades of variation was found at X%Px% Y%Py%.
但是,我不建议搜索整个屏幕区域,因为随着搜索区域的增大,搜索时间会大大增加。
这是我的代码。我想要做的是,当我找到这种颜色时,这个循环会完成它正在做的事情。 我相信问题出在 pixelgetcolor 的坐标上,我不知道如何将坐标放在那里。我试过 pixelsearch 但没有成功 either.Do 你有什么建议我应该怎么做?这个想法是不停地点击,除非这个颜色出现在屏幕上。
CoordMode, Mouse, Screen
CoordMode, Pixel, Screen
Loop ; This loop do non stop, unless the color is on the screen.
{
MouseMove, %X%, %Y%
Click
sleep,%flick%
Click
sleep,%flick1%
PixelGetColor,Dead_Monster,X,Y,RGB
if(Dead_Monster = 0x3CC4C4)
{
break ¸
}
}
您需要将变量包装在 %
中,以便 PixelGetColor
使用这些变量的值。此外,您的变量 X 和 Y 永远不会在任何地方设置...
CoordMode, Mouse, Screen
CoordMode, Pixel, Screen
; initial values?
X := 800
Y := 600
Loop ; This loop do non stop, unless the color is on the screen.
{
MouseMove, %X%, %Y%
Click
sleep,%flick%
Click
sleep,%flick1%
PixelGetColor,Dead_Monster,%X%,%Y%,RGB
if(Dead_Monster == 0x3CC4C4){
break
}
; insert line here to update X, Y ?
}
如果您要在屏幕上搜索某个像素,可以执行以下操作:
; Modified example from https://www.autohotkey.com/docs/commands/PixelSearch.htm
Dead_Monster := 0x3CC4C4
;Search rectangle
S_Left := 0
S_Top := 0
S_Bottom := A_ScreenHeight
S_Right := A_ScreenWidth
PixelSearch, Px, Py, %S_Left%, %S_Top%, %S_Bottom%, %S_Right%, %Dead_Monster%, 3, Fast
if ErrorLevel
MsgBox, That color was not found in the specified region.
else
MsgBox, A color within 3 shades of variation was found at X%Px% Y%Py%.
但是,我不建议搜索整个屏幕区域,因为随着搜索区域的增大,搜索时间会大大增加。