오토핫키(AutoHotKey) 기초강좌 #5 - 매크로 프로그래밍 3 (Gui Submit)




 전체 강좌

 1강 - 오토핫키(AutoHotKey) 소개

 2강 - 프로그래밍의 시작, GUI 만들기

 3강 - 매크로 프로그래밍 1 (Button, Loop, if 사용법)

 4강 - 매크로 프로그래밍 2 (ImageSearch, Send, Sleep)

 5강 - 매크로 프로그래밍 3 (Gui Submit)

 6강 - 매크로 만들기 응용 1 (if 응용, CoordMode)

 7강 - 매크로 만들기 응용 2 (핫키, if 응용)

 8강 - 매크로 만들기 응용 3 (While, GUI와 변수의 활용 1)

 9강 - 매크로 만들기 응용 4 (GUI와 변수의 활용 2)

 10강 - 매크로 만들기 응용 5 (함수1)

 11강 - 매크로 만들기 응용 6 (함수2)

 12강 - 매크로 제작 예제
















안녕하세요~ 킴영감입니다.


지난시간까지 매크로 프로그램의 기본적인 틀을 만들어 봤습니다. 


이번 강좌에는 응용방법에 대해 포스팅 하려고 했지만 Gui Submit을 이해하시는데 시간이 필요할 것 같아 사용방법을 조금 자세히 알려드리고 다음 강좌부터 응용에 대한 내용을 포스팅 하려고 합니다.


두번째 강좌에서 GUI의 기능 중 Button과 Text에 관해서 배웠습니다. 


GUI는 화면을 구성하기위한 많은 요소들을 가지고 있으며 이번 강좌에서는 프로그램 상에서 변경된 구성을 화면에 업데이트하는 방법을 알려드리겠습니다. 우리는 이 기능을 매크로 동작과 클리어 횟수를 업데이트할때 써야합니다.


우선 사용방법을 알려드리겠습니다.


 Gui, Submit, nohide

 GuiControl, , 변수, 값


Gui를 업데이트 하고싶은 부분에 위와같이 작성하시면 됩니다.


변수 부분에는 2강에서 텍스트 GUI를 만들때 할당한 변수를 적어주시면 되고, 값 부분에는 그 변수에 할당할 값을 적어주시면 됩니다.


그럼 코드를 작성해 보겠습니다.


지난시간까지 작성한 스크립트를 불러오신 뒤 아래와 같이 작성하세요.



빨간 박스로 표시된 Gui 코드에 vAvB가 사용할 변수입니다. 오토핫키에서 변수는 여러가지 형태로 사용할 수 있지만 우리는 "v + 변수 명" 또는 "변수 명"의 형태로만 사용할 것이며, Gui에 할당되는 별수는 "v + 변수명"을 매크로 내부에서 값을 가지는 변수는 "변수명"의 형태로만 사용할 것입니다.

매크로의 동작상태를 표시해줄 변수를 vA, 클리어 횟수를 표시해줄 변수를 vB라고 정했습니다. (이전 강좌에 vB가 빠져있으니 추가하시기 바랍니다.)


Button시작 아래에 있는 빨간 박스에 오늘 배운 Gui Submit의 코드가 있습니다. 시작버튼을 누르면 vA에 "시작" 이라는 글자를 표시하게 됩니다. 위에서 설명한 사용방법과 같이 변수명에 A를 (변수를 사용할때는 v를 빼고 사용합니다.), 값을 적는 부분에는 "시작"이라는 텍스트를 적었습니다. 

F5를 눌러 매크로를 실행시켜 시작버튼을 눌렀을 때 "준비!!!" 에서 "시작"으로 글자가 바뀌면 잘 따라오신 겁니다.


똑같은 방법으로 클리어 횟수를 카운팅하는 코드를 작성 해 보겠습니다.

아래 그림과 같이 코드를 추가하세요.



먼저 시작버튼을 누른 뒤 클리어 횟수가 몇번인지 저장해 놓을 변수가 필요합니다. 시작버튼을 눌렀을 때 위쪽에 있는 빨간박스와 같이 "클리어횟수"라는 이름의 변수를 만들고 그 안에 "0"을 저장했습니다.

다음으로 "3.bmp"이미지를 눌렀을 때 던전을 클리어 했다고 가정하고 아래의 빨간 박스와 같이 코드를 추가했습니다.

클리어횟수 변수가 기존에 가지고 있던 값에 1을 더해서 다시 클리어횟수 변수에 저장을 했습니다. 그 다음 Gui Submit을 이용해 변수 B에 클리어횟수 변수가 가지는 값에 "회"를 붙여서 표시했습니다.


이렇게 해서 기초적인 매크로 제작방법에 대해서 모두 알아봤습니다.



그럼 이를 어떻게 게임에 적용해야 할까요??


기능이 많은 매크로는 오늘까지 배운 내용으로는 만들 수 없습니다. (다음시간부터 다룰 것입니다.)

하지만 단순히 던전만 반복해서 돈다면 충분이 가능합니다. 

두번째 강좌에서 다뤘던 순서도를 살펴봅시다.


시작클릭과 다시하기클릭을 반복합니다. 여기서 중요한 점은 서로 겹치는 화면이 없다는 것입니다. 시작클릭 이미지가 있는 화면에서는 다시하기클릭 이미지가 없고, 반대로 다시하기클릭 이미지가 있는 화면에서는 시작클릭 이미지가 없다는 뜻입니다. 이는 우리가 배운대로 이미지를 찾는 코드를 나열하는 것 만으로도 충분히 구현할 수 있음을 의미합니다.


마지막으로 오늘까지의 내용으로 작성한 코드로 매크로를 돌릴때에는 게임 화면이 활성화 되어 있어야 한다는 것 꼭 명심하시기 바랍니다. (응용편에서 활성화 되지않아도 찾을 수 있도록 하는 코드에 대해 다룰 것입니다.)


이제 확인할 일만 남았습니다. 제가 작성한 코드로 아이콘 이미지를 찾아 클릭하도록 해서 동영상을 촬영했습니다.




아이콘의 이미지를 캡쳐해서 각각 "1.bmp", "2,bmp", "3.bmp"로 저장한 뒤 매크로를 실행시켰습니다.

우리가 함께 작성한 코드와 같이 시작버튼을 눌렀을 때 "준비!!!"가 시작으로 바뀌는 것과 각각의 이미지를 찾아 클릭하는 것을 확인하실 수 있으며 3번째 이미지를 클릭할 때 횟수를 카운팅 하는 것을 확인하실 수 있습니다.



강좌를 보시는분 각자 적용해보시고 해냈다는 쾌감을 느끼시길 바랍니다.


이상으로 5번째 강좌를 마치겠습니다.

블로그 이미지

킴영감

프로그래밍과 게임공략, 게임과 관련된 프로그램에 대한 내용을 다룹니다.

,