안녕하세요. 요새 오토핫키 배우는데 재미를 느끼는 1인입니다.
요새 이미지 서칭에 대해 공부를 하고 있는데요.
질문:
g1은 1이라는 이미지입니다.
g5는 5라는 이미지입니다.
1~9까지의 숫자가 화면에 한개씩 나타납니다.
제가 1 또는 5가 나왔을때 어느 위치를 마우스 클릭하게 해놨습니다.
여기서 질문입니다.
1을 찾는 스크립트와 5를 찾는 스크립트를 각각 만들어 돌릴때는 잘 찾거든요?
그런데 1과 5를 한 스크립트에 넣어서 1 또는 5가 나왔을때 마우스 클릭하도록 설정하면
화면 인식을 제대로 못하는 현상이 있습니다.
제가 스크립트를 잘못 만들었다면 수정 부탁드립니다.
아래는 제가 만든 스크립트입니다.
; #NoEnv의 기능은 변수명을 해석할 때, 환경 변수를 무시함 .?
; 환경 변수로서 존재하는 변수명을 사용해 버리는 버그를 막을 수 있음.
; 따라서 스크립트 효율이 약간 좋아짐.
#NoEnv ??
#Singleinstance Force ? ;스크립트를 종료하지 않은 상태에서 또 스크립트를 키면 기존것이 꺼지고,새로켜짐
return
F1:: ;F1를 누루면 시작된다.
winmove, Andy,,1920,0 ;Andy를 오른쪽 모니터 좌표 1920, 0에 위치시킨다.
sleep 1000 ;1초 쉰다.
WinGetActiveTitle, coc
if(coc="Andy")
loop,?
{
ImageSearch, vx, vy, 66, 108, 80, 128,*transwhite *10, g1.png ;[imagesearch, x변수, y변수, x시작좌표, y시작좌표, x끝좌표, y끝좌표, *trans색깔 *오차값 이미지이름.확장자] ;trans는 그 색깔을 제외하고 이미지 서치를 하겠다는것임.
IF ErrorLevel = 0 ;IF ErrorLevel = 0 은 이미지를 찾았을경우 수행할 명령어이다.
{
goto, eexxiitt
}
else
{
?MouseClick, left, 1165, 578, 1
?sleep, 5000
}
mageSearch, vx, vy, 66, 108, 80, 128,*transwhite *10, g5.png ;[imagesearch, x변수, y변수, x시작좌표, y시작좌표, x끝좌표, y끝좌표, *trans색깔 *오차값 이미지이름.확장자] ;trans는 그 색깔을 제외하고 이미지 서치를 하겠다는것임.
IF ErrorLevel = 0 ;IF ErrorLevel = 0 은 이미지를 찾았을경우 수행할 명령어이다.
{
goto, eexxiitt
}
else
{
?MouseClick, left, 1165, 578, 1
?sleep, 5000
}
}
return
eexxiitt:
msgbox, 종료
return
이게 어딜봐서 1또는 5를 찾는건지 모르겠네요.