직접 짠건 아니고 이리저리 구글링하며 짬뽕시켰는데 안돌아가네요
고수님들 한번 봐주실 수 있으십니까?
언어 이쪽을 하나도 모르다보니 하루종일 붙잡고 있어도 모르겠네요
목적 : 이미지 두개를 인식해 그 구역 내 랜덤 위치에 클릭
상황 : 이미지 두개는 각각 시작화면과 종료화면에 노출되는 버튼, 시작은 두번 눌려야 게임 돌아가고 완료는 1번
F5::
Loop,
{
ImageSearch, vx, vy , 0, 0, 1920, 1080, 첫번째 파일명
if ErrorLevel = 0
{
Varx := 1
Vary := 1
Random, vax, 0, %Varx%
Random, vay, 0, %Vary%
rx := vx + vax
ry := vy + vay
Random, Time, 1000, 5000
Sleep, %Time%
MouseClick, Left, rx, ry
}
Sleep, 1000
ImageSearch, vx, vy , 0, 0, 1920, 1080, 두번째 파일명
if ErrorLevel = 0
{
Varx := 1
Vary := 1
Random, vax, 0, %Varx%
Random, vay, 0, %Vary%
rx := vx + vax
ry := vy + vay
Random, Time, 1000, 5000
Sleep, %Time%
MouseClick, Left, rx, ry
}
Sleep, 1000
}
return
Varx,Vary 은 고정된 값이나 마찬가지이므로 굳이 Loop 문안에 넣을 필요는 없어보입니다
F5::
Varx := 1, Vary := 1
Loop
{
...
시작은 2번 클릭해야 한다고 하셨으므로 한번 더 클릭하게 하셔야 하고요
MouseClick, Left, rx, ry, 2
작동이 안된다면 이미지서치의 문제이므로 제대로 찾는지
msgbox, tooltip 을 이용해 확인해봐야 하고
보통 이미지서치시 정확히 일치하는것을 찾는것은 어렵기 때문에 변화값을 줍니다
엉뚱한곳을 찾는다면 값을 낮추고 잘 못찾는다면 값을 올리면 됩니다
수치가 높을수록 잘못 찾을 확률이 높아지므로 100 이하가 적당하겠습니다
그래도 잘 못찾는다면 이미지 파일을 크거나 작게 다시 만들어서 테스트 해봐야지요
ImageSearch, vx, vy , 0, 0, 1920, 1080, *80 첫번째 파일명
if ErrorLevel = 0
{
MsgBox, find vx=%vx% vy=%vy%
...