바로 설명 갑니다.
Function(a) 에 대해 설명해 드리겠습니다.
함수(a)
함수는 우리가 학교에서 배웠던 그 함수가 맞습니다.
x + 2 = 5
x = 3 이 됩니다. 이것을 우리는 오토핫키에도 적용시킬 수 있답니다.
형식은 이렇습니다.
함수이름() 이게 기본이고 함수에 변수를 지정해서 이미지파일에 이름을 바꾼다거나 좌표 등의 수치를 바꿀때에는
함수이름(변수1, 변수2 …) 이런식이 됩니다.
예제1)
------------------------------------------------------------------------------------------------------------------
대충이름지정(ImageName, Accuracy)
{
ImageSearch, vx, vy, 0, 0, A_ScreenWidth, A_ScreenHeight, *%Accuracy% %ImageName%.bmp
If(errorlevel = 0)
{
MouseClick, L, vx, vy
}
}
------------------------------------------------------------------------------------------------------------------
이렇게 함수를 지정해놓고 이걸 호출해서 써주기만 하면 됩니다.
SetList := "1-7"
대충이름지정("Start버튼", 30) ;대충이름지정이라는 함수에 Start버튼 과 30 이라는 변수를 지정해준것
대충이름지정("광고창닫기", 70)
대충이름지정("Stage", 50)
대충이름지정("Stage" . SetList, 30)
return
감이 오시나요? ㅈㄴ 쉽죠?
이렇게 만드니 16줄의 스크립트가 나왔습니다. 만약 함수를 쓰지 않는다면?
------------------------------------------------------------------------------------------------------------------
ImageSearch, vx, vy, 0, 0, A_ScreenWidth, A_ScreenHeight, *30 Start버튼.bmp
If(errorlevel = 0)
{
MouseClick, L, vx, vy
}
ImageSearch, vx, vy, 0, 0, A_ScreenWidth, A_ScreenHeight, *70 광고창닫기.bmp
If(errorlevel = 0)
{
MouseClick, L, vx, vy
}
ImageSearch, vx, vy, 0, 0, A_ScreenWidth, A_ScreenHeight, *50 Stage.bmp
If(errorlevel = 0)
{
MouseClick, L, vx, vy
}
ImageSearch, vx, vy, 0, 0, A_ScreenWidth, A_ScreenHeight, *30 Stage1-7.bmp
If(errorlevel = 0)
{
MouseClick, L, vx, vy
}
Return
------------------------------------------------------------------------------------------------------------------
21줄의 스크립트가 나오네요. 만약에 똑같은 형식을 계속 반복한다면 스크립트는 더욱더 늘어나고 보기 힘들어질겁니다.
함수를 사용하면 스크립트가 어떻게 진행되는지 그리고 변수에 뭐가 들어가서 어떤 이미지를 찾고 어떤 색상차이를 두고 찾는건지에 대해 한눈에 보기에도 더 쉽겠죠.
이미지서치 뿐 아니라 다른 곳에서도 적용이 가능하기 때문에 꼭 실제로 적용해보면서 응용을 해보시기 바랍니다