안녕하세요!완전초보입니다!!
많은 가르침 부탁 드립니다.
매크로시작 := false
CoordMode, Pixel, Screen
CoordMode, Mouse, Screen
return
Button시작:
{
Gui,Submit,NoHide
GuiControl, , A, 시작
매크로시작 := true
클리어횟수 := 0
Loop
{
CoordMode, Pixel, Screen
WinGetPos, Pos_x, pos_y, width, height, 앱플레이어
x_right := width + Pos_x
y_bottom := height + Pos_y
ImageSearch, foundx, foundy, %pos_x%, %pos_y%, %x_right%, %y_bottom%, *50 %A_ScriptDir%\Image\1.bmp
if (ErrorLevel = 0)
{
비활성왼쪽클릭(foundx, foundy)
Sleep, 1000
}
ImageSearch, foundx, foundy, %pos_x%, %pos_y%, %x_right%, %y_bottom%, *50 %A_ScriptDir%\Image\2.bmp
if (ErrorLevel = 0)
{
비활성왼쪽클릭(foundx, foundy)
Sleep, 1000
}
ImageSearch, foundx, foundy, %pos_x%, %pos_y%, %x_right%, %y_bottom%, *50 %A_ScriptDir%\Image\3.bmp
if (ErrorLevel = 0)
{
비활성왼쪽클릭(foundx, foundy)
Sleep, 1000
}
ImageSearch, foundx, foundy, %pos_x%, %pos_y%, %x_right%, %y_bottom%, *50 %A_ScriptDir%\Image\4.bmp
if (ErrorLevel = 0)
{
비활성왼쪽클릭(foundx, foundy)
Sleep, 1000
}
ImageSearch, foundx, foundy, %pos_x%, %pos_y%, %x_right%, %y_bottom%, *50 %A_ScriptDir%\Image\5.bmp
if (ErrorLevel = 0)
{
비활성왼쪽클릭(foundx, foundy)
Sleep, 100
클리어횟수 := 클리어횟수 + 1
Gui,Submit,NoHide
GuiControl, , B, %클리어횟수% 회
}
{
break
}
}
}
return
비활성왼쪽클릭(x좌표, y좌표)
{
WinGetPos, w_x, w_y, w_w, w_h, 앱플레이어
내부좌표x := x좌표 - w_x
내부좌표y := y좌표 - w_y
lparam := 내부좌표x|내부좌표y<<16
PostMessage, 0x201, 1, %lparam%, ,앱플레이어
PostMessage, 0x202, 0, %lparam%, ,앱플레이어
Sleep, 1000
}
Button종료:
{
매크로시작 := false
ExitApp
}
return
F2::
{
매크로시작 := false
Gui,Submit,NoHide
GuiControl, , A, 멈춤
}
return
위에서 1번 2번 3번 이미지를 차례로 클릭하구 4번 이미지가 안보이면 계속 3번만 클릭하다가 4번이 나타나면 4번 클릭하구5번클릭 다시 1번 2번 3번 이런식으로 반복 할려구하는데 잘 안되네요 ㅠㅠ
위 방식으로 하니 1번 2번 3번 클릭하구 4번이 없으도 5번 클릭후 다시 1번 2번 3번 이런식으로 진행되네요
4번이 없으면 4번이 나타날때까지 3번만 클릭하게 할수 있겠끔 할려면 어떻게 해야 할까요
고수님들 가르침 부탁드립니다!!
정확히 어떤 용도/상황인지 몰라서... 대충 이렇게 하면 되지 않을까요?
1번 / 2번 이미지 서치 다음에 아래와 같이 넣습니다.
3Counter := 0
While(3Counter = 0) ;// 4번 이미지 찾기 전까지 반복
{
ImageSearch, foundx, foundy, %pos_x%, %pos_y%, %x_right%, %y_bottom%, *50 %A_ScriptDir%\Image\3.bmp
if (ErrorLevel = 0)
{
비활성왼쪽클릭(foundx, foundy)
Sleep, 1000
}
ImageSearch, foundx, foundy, %pos_x%, %pos_y%, %x_right%, %y_bottom%, *50 %A_ScriptDir%\Image\4.bmp
if (ErrorLevel = 0)
{
비활성왼쪽클릭(foundx, foundy)
Sleep, 1000
3Counter := 1 ;// 3Counter에 1을 넣음으로서 4번 이미지 클릭후 While 루프에서 나감
}
}