안녕하세요.
지금 제가 'A' 라는 이미지가 찾아질 때마다 어떤 명령을 한번씩만 실행하는 무한loop 매크로를 만드려고 합니다.
쉽게말해서 이미지서치는 매크로를 종료할 때까지 계속 돌아가고, 명령어는 이미지가 발견될 때마다 한번씩만 출력하게 되는 것을 원하고 있습니다.
이미지가 화면에서 사라졌다가 다시 찾아지면, 다시 명령어를 한번씩만 입력하는 이런식의 매크로를 원하고 있습니다.
참고로 서치하는 A 이미지는 일정시간(수초간) 등장했다가 사라지고, 수초 후에 다시 나타납니다.
때문에 제가 막히는 부분이.. 아무래도 loop문을 이용하다보니 이미지가 계속 떠있으면 명령어도 여러번 출력된다는 것인데요.
Break를 사용해서 명령어를 한번만 실행하게 할 수는 있지만, 매크로를 시작해줘야 한다는 불편함이 있더라구요..
짜기 쉬운 스크립트인 것 같으면서 은근 어렵네요 ㅠㅠ
특정 명령어를 실행하게하는 A이미지와, A이미지가 화면에 뜰 때까지 기다리는 B 이미지를 나눠 적용해서 짜야할까요?
고수분들 부탁드립니다.ㅠㅠ
아래는 이미지서치 기본 스크립트지만; 복사해서 쓰시라고 올려둡니다.
F1::
loop
{
ImageSearch, VX, VY, 0, 0, A_ScreenWidth, A_ScreenHeight, *10 A.png
if errorlevel = 0
{
send,A
}
}
return
F1::
loop
{
ImageSearch, VX, VY, 0, 0, A_ScreenWidth, A_ScreenHeight, *10 A.png
if errorlevel = 0
{
if (!A)
{
send,A
A++
b:=0
} else {
ImageSearch, VX, VY, 0, 0, A_ScreenWidth, A_ScreenHeight, *10 B.png
if errorlevel=0
{
if (!B)
{
send,B
B++
A:=0
}
}
}
}
return