알짜정보
* 이곳은 여러가지 Tip&Tech에 대한 내용을 공유하는 곳입니다.

?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄


 

 

 

 

아마 FPS 게임 쪽에 쓰시는분들이 대다수 일꺼라 생각이 듭니다.

그러므로 FPS 게임 기준으로 적겠습니다.

MouseMove 명령어를 사용하면 마우스가 돈다고 해야할까요? 하늘을 보거나, 땅을 보거나... 원하는 곳이 아닌 이상한곳으로 가버리게 되죠...

원인은 설명하자면 깊숙하게 들어가야하고... 해결법은 mouse_event 를 쓰시면됩니다.

mouse_event 는 windows api 입니다. (windows api 란? 오토핫키 명령어처럼 윈도우 명령어라고 생각하시면 됩니다.)

DllCall 문법은 DllCall("[DllFile\]Function" [, Type1, Arg1, Type2, Arg2, "Cdecl ReturnType"]) 입니다.

자세하게 알아보고 싶으신분은 https://autohotkey.com/docs/commands/DllCall.htm 여기로 가시면 됩니다.

mouse_event api 사용 문법은 https://msdn.microsoft.com/ko-kr/library/windows/desktop/ms646260(v=vs.85).aspx 여기서 확인하시면됩니다.

설명은 여기까지 하고 실전 코드를 적어드립니다.

DllCall("mouse_event", uint, 1, int, 100, int, 100, uint, 0, int, 0)

이렇게 적어주시면 현 좌표를 0,0 기준으로 우측아래서 100, 100 으로 이동합니다.

(모니터 기준, 프로그램 기준이라고생각하시면 안됩니다.)

 

이제 FPS에서 사용하는 알고리즘을 알려드리겠습니다.

MouseGetPos, MouseX, MouseY ; 현 마우스 좌표를 MouseX, MouseY 변수에 저장합니다.

/* 만약 이동해야될 좌표가 300, 300이라고 가정하면 */

DllCall("mouse_event", uint, 1, int, 300-MouseX, int, 300-MouseY, uint, 0, int, 0)

한국어로 정리하자면 이동해야될곳 - 현좌표 입니다.

처음부터 바로 응용코드를 넣지마시고 단순히 100,100 좌표로 이동하는 mouse_event 를 구현해보시면 이해되실꺼라 생각합니다.

 

 

 

 

 



  • profile
    김효복(소장) 2016.08.01 23:59
    msdn에 보면 절대좌표계가 좌상단 (0, 0) 우하단(65536, 65536)이라고 명시되어있네요..
    실제 다이얼로그를 기준으로 하면 다이얼로그 사이즈를 위 비율에 맞추어 계산해야 하는건가요?
  • ?
    AutoProMaker 2016.08.02 01:32
    좌표쪽 말씀하시는거죠? 저도 왼쪽 위가 0,0 일줄 알았는데 현 좌표가 0,0이 되더라고요...
    비율은 어떤걸 말씀하시는지 잘모르겠어요 ㅠㅠ
  • ?
    Komjun 2016.08.06 01:07
    dllcall로이동하는것은 속도조절이 안되나요?
  • ?
    솔솔 2016.08.11 08:36
    좋은 자료 감사드립니다.
    포스트메시지도 안 먹혀서 안 되는 줄 알았는데
    api로 가능한 거였군요.

    참 혹시 우회 컴파일러라고 아시나요?
    요즘은 그걸로 바이패스한다고 하는데
    아마 오핫 컴파일러에서 뭔가를 수정해 재컴파이한 거 같은데 해당 정보 아시면 도움 부탁드립니다
  • profile
    CHEKI 2016.08.20 13:51
    만약 현 좌표가 0,0 이면 오른쪽 아래로는 + , + 고 왼쪽 위로가면 - , - 로 해야하나요?
  • ?
    AutoProMaker 2016.08.20 23:14
    맞습니다.
  • ?
    MINT 2016.09.21 20:11 SECRET

    "비밀글입니다."

  • ?
    AutoProMaker 2016.09.22 00:06
    왼쪽 위가 0, 0입니다.
    우측으로 가려면 x에 + 좌측으로 가려면 x에 -
    위쪽으로 가려면 y에 - 아래쪽으로 가려면 y에 +
  • ?
    MINT 2016.09.22 23:45 SECRET

    "비밀글입니다."

  • ?
    zeani 2016.08.29 16:41
    픽셀서치를 사용했을때 마우스이벤트를 사용하게되면 그픽셀위치를 찾아갈수있는거져?
  • ?
    AutoProMaker 2016.08.30 09:01
    네 MouseMove 랑 같은거라고 생각하시면 됩니다.
  • ?
    zeani 2016.08.30 16:01
    F2::
    PixelSearch,vx,vy, 500,200, 1500,800, (미지정) , 1, Fast
    if ErrorLevel=0
    {
    MouseGetPos, MouseX, MouseY
    DllCall("mouse_event", uint, 1, int, %vx%-MouseX, int, %vy%-MouseY, uint, 0, int, 0)
    }
    return

    이렇게 작성해도 상관없나여? 1980*1080 해상도입니다

    어차피 fps 다 보니 화면 중앙에서 싸우게 되는데 픽셀서치를 많이 하면 오래걸릴꺼 같에서 500,200, 1500,800

    이렇게 썼습니다

    작동할까여?,... 회사라서 테스트를 못해보네여
  • ?
    AutoProMaker 2016.08.30 19:30
    본인이 테스트하면서 고쳐가는게 가장 좋은 습관이긴합니다만 환경이 안된다고 하셨으니 답변드립니다.
    () 괄호안에는 변수는 그냥 이름적으시면됩니다. %% 적지마세요.
  • ?
    zeani 2016.08.30 19:55
    감사합니다 집에가서 빨리확인해봐야겠어여 궁금한거 또 여쭙겠습니다
  • ?
    zeani 2016.08.31 10:59
    아...화면만 빙빙 도네여..이미지나 픽셀을 못찾은건가....답답해 하다 새벽 4시에 잠이들었네여..
    뭐가문제 인지..
  • ?
    AutoProMaker 2016.08.31 16:57
    화면에 그 픽셀이 한 곳에만 있을꺼 같진않네요.

List of Articles
번호 분류 제목 글쓴이 날짜 조회 수 추천 수
54 오토핫키 Read memory 포인터 DLL Base Address 값 얻기 3 file Algorithm 2016.08.03 885 0
» 오토핫키 FPS게임, 마우스 화면 중앙고정 프로그램에서 에임 및 마우스 움직이는 방법 16 AutoProMaker 2016.08.01 2002 0
52 지존오토 이전항목 저장, 불러오기 예제입니다. 3 file 헬퍼 2016.07.20 339 0
51 기타 오토핫키 메뉴얼 번역본 11 file fgtyb 2016.06.07 691 0
50 기타 Window8 & 8.1 Aero 강제끄기 3 file fgtyb 2016.05.05 334 0
49 오토핫키 가상화 파일을 실행할땐 생성시키고! 끌땐 삭제시키자! 3 라파엘2 2016.04.29 340 0
48 오토핫키 window spy 이용해서 좌표 잡을때 깨알팁 /이미지有 2 file Shasu 2016.04.29 553 0
47 기타 RGB값 구하는데 고민하지마세요~ 6 라파엘2 2016.04.28 322 0
46 기타 자동클랜가입 허접한 그냥 마우스클릭입니다 2 file 싸이코 2016.04.28 287 0
45 오토핫키 오토핫키 최적화 벤치마크 (가상화) (초안) 1 secret fgtyb 2016.04.26 2 0
44 하드웨어 LED 숨쉬기 모드 제어 file 김효복(소장) 2016.04.24 151 0
43 지존오토 변수를 이용하여 마우스를 원모양으로 돌리기 11 file 어시스트 2016.04.16 876 1
42 오토핫키 Send and Click Tool V4.1 2 포스몬 2016.03.27 431 0
41 오토핫키 오토핫키 랜덤 슬립 1 레이더 2016.03.01 777 0
40 오토핫키 오토핫키 유니코드 변환기 레이더 2016.02.28 587 0
39 지존오토 지존오토 비번 1 김효복(소장) 2016.02.27 3818 0
38 오토핫키 Use AutoHotKey in Applications 4 file 김효복(소장) 2016.02.14 303 0
37 기타 픽셀, 이미지 서칭 방식의 몹 서칭을 위한 오브젝트 서칭법 18 하늘사랑 2016.01.01 569 1
36 오토핫키 오토핫키+ 명령어 적용된 AutoHotkey.exe 11 하늘사랑 2015.12.15 541 1
35 지존오토 지존오토 익스트림 날림 팁 43 하늘사랑 2015.11.15 2117 7
34 오토핫키 프로세스 정보로 윈도우창 제어하기 3 file 김효복(소장) 2015.10.29 271 1
33 기타 리버싱 관련 자료들... 23 텐프로 2015.10.06 717 4
32 기타 코드로 짠 어플 블루스크린 및 프리징 현상 문제 3 ShinZ 2015.09.29 109 0
31 기타 [원격제어프로그램] NetSupport 12 2 포스몬 2015.09.11 445 0
30 지존오토 키보드 연타기능 설정 예제 3 김효복(소장) 2015.09.04 845 0
29 지존오토 가상인식점 설명자료 5 file 김효복(소장) 2015.09.04 667 0
28 지존오토 가상인식점 간단히 이해하기.. 9 김효복(소장) 2015.09.04 565 1
27 지존오토 지존 프리미엄 manual(참고용) 11 file 김효복(소장) 2015.09.04 443 0
26 오토핫키 오토핫키 뮤텍스에 대해서.. 8 김효복(소장) 2015.09.03 578 0
25 VM vmware 문제 해결 부탁드립니다 4 죽쥐아놔놔 2015.07.10 376 0
Board Pagination Prev 1 2 ... 3 Next
/ 3