이번에 알아볼 명령어는 MouseGetPos입니다.


 마우스의 좌표를 가져오는 MouseGetPos 

MouseGetPos는 현재 마우스의 좌표를 가져오는 역할입니다.

MouseGetPos [, OutputVarX, OutputVarY]

사실 더 많은 매개변수가 있지만, OutputvarX 매개변수와 OutputVarY 매개변수만 사용되는 경우가 압도적으로 많기 때문에 이것만 설명드리도록 하겠습니다.

  • OutputVarX 매개변수: 현재 마우스의 X좌표가 담길 변수입니다.
  • OutputVarY 매개변수: 현재 마우스의 Y좌표가 담길 변수입니다.

즉, 만약 아래와 같이 써준다면

MouseGetPos, vx, vy

vx, vy변수에는 현재 마우스의 좌표가 들어있겠지요.

 

이런식으로 대입 연산자를 사용하지 않고 특정 명령어를 통해 "도출"되는 변수를 "출력 변수" 라고 합니다.

 

그러면 아래 스크립트를 이해하실 수 있나요? 지금까지 배웠던 이스케이프 시퀀스 등을 활용해보았습니다.

CoordMode, Mouse, Screen
MouseGetPos, screenX, screenY
CoordMode, Mouse, Relative
MouseGetPos, relativeX, relativeY
CoordMode, Mouse, Client
MouseGetPos, clientX, clientY
MsgBox, 현재 마우스 좌표`n`n절대 좌표: %screenX%`, %screenY%`n상대 좌표: %relativeX%`, %relativeY%`n클라이언트 좌표: %clientX%`, %clientY%
Exitapp

23강.ahk
0.00MB

CoordMode로 좌표 체계를 바꿔가면서, 각각의 좌표 체계에 따라 현재 마우스 좌표가 어떻게 표현되는지 MsgBox로 출력한 모습입니다.

 

여담으로, 해당 예제의 MsgBox 구문은 이렇게 쓸 수도 있겠네요. (12강 참고)

MsgBox, % "현재 마우스 좌표`n`n절대 좌표: " screenX ", " screenY "`n상대 좌표: " relativeX ", " relativeY "`n클라이언트 좌표: " clientX ", " clientY

마지막 예제를 이해하셨다면 제 강좌를 잘 따라오고 있으신겁니다. 일부러 조금 응용되는 예제를 사용했으니 난이도가 제법 있지요.

그렇지만 보기에만 그렇고, 실제로는 쉽습니다. 직접 실행시켜가며 배우시면 금방 이해하시게 될겁니다.

 


| 23. MouseGetPos |