오토핫키(AutoHotKey) 기초강좌 #2 - 프로그래밍의 시작, GUI 만들기




 전체 강좌

 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강 - 매크로 제작 예제

















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


지난시간에 오토핫키에 대한 소개와 프로그램 설치에 관해 설명 드렸습니다.

이번 시간에는 앞으로 우리가 함께 해 나가야 할 프로그래밍을 어떤 시각을 가지고 바라보아야 하는가에 대해 이야기 하려고 합니다.


핵심을 먼저 말씀드리면 "내가 필요한 기능을 가진 명령어(또는 함수)를 어떻게 사용하는지에 집중하라" 입니다. (여기서 함수란, 특정한 기능을 수행하도록하는 미리 작성된 코드입니다.)


우선 이렇게 말씀드릴 수 있는 이유는 이 강좌를 보시는 분의 목표가 전문 프로그래머가 되는 것이 아니기 때문입니다.


앞으로 저와 함께 많은 명령어들의 사용방법들을 공부하게 될 것입니다. 각 명령어들을 어떻게 사용하는지에 집중하시면 됩니다. 예를 들면, 화면상에서 이미지를 찾는 기능을 사용하고 싶을 때 ImageSearch라는 명령어를 사용한다는 것과 이를 사용하는 방법을 숙지하시면 됩니다. 도저히 이해가 안되시는 분은 강좌때 마다 제가 작성해 드리는 예제를 똑같이 따라하신다고 생각하시면 됩니다. 그리고 오토핫키 명령어 사전(?)을 항상 켜놓고 참고하시는 것을 권장합니다.

링크1 - http://ahkscript.org/docs/commands/index.htm (초보를 벗어나기 위해서는 필수입니다.) 

링크2 - http://ahkplant.tistory.com/ (명령어를 한글로 설명해놓은 블로그입니다.)

영어로 되어 있지만 대부분 구글링 하시면 한국어 설명을 찾으실 수 있습니다.


여기까지 이해 하셨으면 다음 단계는 "내가 원하는 프로그램은 무엇이고 어떻게 시작해야 하는가?"입니다. 이는 주관적으로 프로그래밍을 하는데 가장 중요한 단계라고 생각합니다. 그러니 반드시 천천히 깊이 생각하시면서 강좌를 보셨으면 합니다.


먼저 "내가 원하는 프로그램은 무엇인가?"에 대해 생각해 봅시다. 우리는 첫 강좌를 시작으로 매크로를 만들기 위해 공부를 시작했습니다. 그럼 "매크로는 무엇인가?"에 대해 생각해봅시다. 매크로는 반복적인 작업을 자동으로 하게끔 하는 프로그램입니다. 여기까지는 깊이 생각 할 것이 없습니다. 하지만! 다음 단계인 "반복되는 작업이 무엇이며, 어떠한 순서로 동작하는가?"를 생각 할 때 부터는 충분히 깊게 생각하셔야 합니다. 원하는 작업과 순서를 충분히 생각하셨다면 다음 단계로 넘어가시면 됩니다.


이제 "어떻게 시작해야 하는가?"에 대한 답을 드리겠습니다. 우선 수첩을 준비하시고 반복되는 작업을 적습니다. 다 적으신 뒤에 각각의 작업을 하기위해 필요한 기능을 적습니다. 제가 적은 것을 예로 보여드릴테니 각자 원하는 작업을 따라서 적어보시기 바랍니다.



다음은 반복되는 작업을 순서도로 그립니다. 어릴적 배운 순서도에 도형은 필요없습니다. 그냥 화살표만 그려주면 됩니다. 이 역시 아래의 그림을 보시고 원하시는 작업의 순서도를 따라 그리시면 되겠습니다.



여기까지 따라오신 분은 프로그래밍을 시작할 모든 준비가 되신 것입니다.

그럼 작성한 순서도를 바탕으로 한 프로그래밍 강좌를 본격적으로 시작하겠습니다.




오늘은 가볍지만 노가다 작업인 GUI 만들기에 대해 알려드리고 간단한 예제를 함께 구현해 보겠습니다. 스크립트 작성에 앞서 한가지 이해하셔야 할 내용이 있습니다. 앞으로 작성하는 모든 스크립트는 "위에서 아래로 한줄씩 실행된다"라는 것입니다. 단순하게 말 그대로 받아드리시면 됩니다. 그럼 진짜 강좌를 시작하겠습니다.


GUI는 그래픽으로 이루어신 사용자 인터페이스를 말합니다. 쉽게 말하면 프로그램 화면을 만드는 것입니다.


오토핫키에서는 버튼, 텍스트, 에디트 등의 다양한 GUI를 제공하며 각각의 사용방법만 숙지하시면 누구나 멋있는 프로그램을 제작할 수 있습니다. 


현재 단계에서 우리에게 필요한 GUI는 던전을 몇번 돌았는지 표시 할 텍스트와 시작, 종료할 수 있는 버튼 입니다.


GUI 사용하기


GUI를 사용하는 문법은 아래와 같습니다.


 Gui, Add, 사용할 기능, 옵션, 이름


GUI를 사용하실때는 항상 위와 같은 방법으로 사용하시면 됩니다. 

- 앞에 있는 Gui, Add 는 GUI를 추가할때 항상 똑같이 사용하시면 됩니다.

- 사용할 기능부분에는 텍스트의 경우 Text, 버튼의 경우 Button을 사용하시면 됩니다. 

- 옵션 부분에는 화면구성에 관련된 다양한 옵션이 있지만 우리는 위치와 크기설정, 변수설정만 사용하면 됩니다.

- 이름 부분에는 텍스트의경우 표시할 글을 적으시면되고, 버튼의 경우 버튼의 이름을 적으시면 됩니다.


그럼 실습을 해보도록 합시다.


우리에게 필요한 기능을 나열 해 보면 프로그램 제목을 표시할 텍스트, 현재 상태를 표시할 텍스트, 던전 클리어 횟수를 표시할 텍스트, 매크로를 시작할 때 필요한 버튼, 매크로를 종료할 때 필요한 버튼으로 총 5개의 GUI가 필요합니다.


여기까지 숙지가 되셨으면 지난시간에 설치한 오토핫키 편집기를 실행시킵니다.


입력창에 다음과 같이 코드를 작성합니다.



코드 설명을 해 드리겠습니다. 


Gui, Add 는 모두 똑같습니다. 

세번째 항목인 사용할 기능 부분에 텍스트를 표시할 곳에는 Text, 버튼을 표시할 곳에는 Button을 적으시면 됩니다.

네번째 항목인 옵션 부분에는 텍스트와 버튼의 크기를 입력합니다. 2번 줄에 x30 y5 w110 h20 의 경우 (30, 5)의 위치에서 시작하는 넓이 110, 높이 20의 텍스트를 만드는 옵션입니다. 3번줄을 보시면 위치와 크기를 지정하는 옵션 뒤에 vA가 있습니다. 오토핫키에서 옵션을 적는 부분은 스페이스바로 구분하며 vA, vB와 같이 표시되는 것은 변수 선언을 의미합니다. 변수란 어떤 값을 저장할 수 있는 공간을 의미하며 3번 줄의 vA에는 "준비!!!" 라는 텍스트를 담고 있는 것입니다.

GUI를 표현하는 코드를 모두 작성한 다음에는 Gui, Show를 입력해 주셔야 작성한 프로그램의 화면이 윈도우에 나타나게 됩니다.



이제 키보드의 F5를 누르거나 아래의 그림에 빨간색으로 표시되어있는 Run Script 버튼을 누르시면 프로그램을 저장하는 화면이 나오고 작성한 스크립트를 저장합니다.




이렇게 저장을 완료하면 아래와 같이 프로그램이 실행됩니다.



허접해 보이지만 매크로를 만들기 위한 첫걸음을 땠습니다. 


시작버튼과 종료버튼을 눌러도 아무 반응이 없을 것입니다. 아직 버튼을 눌렀을때 실행할 동작에 관한 코드를 작성하지 않았으니...ㅋ

다음시간부터 프로그램을 작동시키기 위한 코드를 하나씩 배워 볼 것입니다. 



오늘 첫걸음을 땐 만큼 코드를 바꿔가 보면서 어떻게 구현이 되는지 반드시 테스트하고 익히시기 바랍니다.


이것으로 두번째 강좌를 마치겠습니다.


블로그 이미지

킴영감

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

,