NGMsoftware

NGMsoftware
로그인 회원가입
  • 매뉴얼
  • 팁 앤 테크
  • 매뉴얼

    팁과 테크니컬 노하우를 확인하세요.

    팁 앤 테크

    팁과 테크니컬 노하우를 확인하세요.

    본 사이트의 컨텐츠는 저작권법의 보호를 받으므로 무단 복사, 게재, 배포 등을 금합니다.

    에디터 비활성 매크로를 만들 때 주의할 점. (픽셀 서치, 이미지 서치)

    페이지 정보

    본문

    안녕하세요. 엔지엠소프트웨어입니다. 다클라, 다계정 매크로를 사용하시는 분들중에서 [ 픽셀 서치 ] 또는 [ 이미지 서치 ]가 인식이 안되는 문제가 종종 발생합니다. 이런 경우 보통 속성에 값을 복사/붙여넣기로 작업했기 때문에 발생되는 문제입니다. 또는 변수로 처리했거나요^^; 우선, 픽셀 서치가 정상 동작하게 하는 스크립트 작성 방법입니다.

    [ 하드웨어 다클라 매크로를 제작할 때 주의할 점 ]

    ※ 필독 - [ 비활성 다클라 매크로를 만들 때 주의사항 ]

    pYE75XS.gif

     

     

    픽셀 서치의 속성에 보면 인식할 픽셀을 선택할 때 해당 창의 정보도 같이 가져오게 됩니다.

    YQdhh0t.png

     

     

    이렇게 창의 정보를 내부에 저장하는 이유는 창의 위치가 변경되더라도 이미지를 가져와서 클릭하기 위함입니다. 내부적으로는 최초 스크립트 작성시 창의 위치를 저장해두고, 실행시마다 핸들 추가한 창의 위치와 비교합니다. 좀 더 쉽게 설명하면 최초 스크립트 작성시 창의 위치가 100, 100이었다고 가정 해봅시다. 스크립트 실행시 창이 200, 200으로 이동되어 있다면 기존 100, 100에서 이동한 100, 100만큼(처음 위치가 100이었기 때문에 현재 200이면 100만큼 이동한 상태) 이미지와 마우스 클릭 좌표를 보정해줍니다.

    L8yOLJx.gif

     

     

    창이 이동하더라도 정상적으로 클릭하고 있습니다.

    fbCAYhy.gif

     

     

    색상 선택을 직접 입력 해볼까요? 기존 픽셀 서치 액션을 삭제하고, 새로운 픽셀 서치 액션을 추가 해줍니다. 그리고, 수동으로 색상 선택을 입력하세요. 창 정보가 없습니다.

    7CfNDZS.gif

     

     

    픽셀 서치에 마우스 클릭을 설정하고, 실행 해보세요. 정상 동작하지 않게 됩니다.

    kIByqHo.gif

     

     

    핸들이 없으면 정상 동작합니다. 좌표를 계산하지 않아도 되기 때문입니다.

    ukj3uRz.gif

     

     

    좌표를 보정하기 위해 [ 오프셋 ]을 추가합니다. 그리고, 콘트롤 윈도우 정보(350, 118, 800, 918) 위치 값 X: 350, Y: 118을 입력하세요. 실행해보면 정상 동작합니다.

    rhUWBMC.gif

     

     

    이렇게 오프셋으로 처리하는건 창이 이동되면 정상 동작하지 않게 됩니다. 실제 창의 정보를 기준으로 계산할 수 없기 때문입니다.

    1kwx3Jh.gif

     

     

    엔지엠 에디터의 클릭 좌표 설정이나 이미지 캡쳐 또는 픽셀 선택등등... 자체 기능을 이용해야만 창의 위치 정보를 내부에 저장할 수 있습니다. 활성 매크로인 경우에는 크게 문제될게 없지만~ 비활성 매크로를 제작하는 경우에는 심각한 문제를 발생시킵니다. 정상적으로 동작하지 않기 때문이죠. 그렇다고해서 이 문제를 해결할 수 없는건 아닙니다. 아래와 같이 변수를 2개 추가하세요. 각각 창 정보를 입력합니다. 창 정보는 [ 프로그램 정보 ] 액션으로 확인할 수 있습니다.

    ysy7p4H.png

     

     

    픽셀 서치에서 변수로부터 각각 정보를 가져옵니다.

    ag23zNz.gif

     

     

    스크립트를 실행하면, 이제는 정상적으로 동작하는걸 확인할 수 있습니다. 매크로는 단순히 이전 위치와 현재 위치를 비교해서 처리하기 때문입니다.

    CuiP9vz.gif

     

     

    엔지엠 매크로는 다른 ADB 방식을 사용하는 안드로이드 전용 매크로와 다르게 설정이 약간 복잡합니다. ADB를 사용하면 안드로이드 내부에 이미지와 좌표를 사용하기 때문에 무조건 비활성으로 동작하고, 창이 이동되더라도 내부에서의 좌표는 변함이 없어서 문제가 되지 않습니다. 하지만, 엔지엠 매크로는 윈도우 레벨에서 제어하기 때문에 녹스나 엘디도 하나의 프로그램일뿐입니다. ADB는 녹스나 엘디가 윈도우 역할을 하게 됩니다. 범용성면에서 엔지엠 매크로가 뛰어나지만 콘트롤을 제어해야 한다는 점에서는 몇단계 더 처리해야 하는 부분이 필연적으로 발생하게 됩니다. 그래도, 녹스나 엘디와 같은 프로그램에 종속되어 다양한 문제점들이 발생하므로 ADB 방식의 매크로는 사용하지 않는게 좋습니다. 어딘가에 종속되어 갇힌다는건 확장성을 포기하는 안좋은 결과를 낳기 때문입니다.

     

    ADB 방식을 이용하는 매크로 프로그램들이 대부분 사라진걸 보면 어떤 방식이 더 좋은지는 금방 알 수 있겠죠? 요즘 매크로 프로그램들은 전부 윈도우 방식을 채택하고 있습니다. ADB를 사용해서 쉽고 빠르게 매크로 프로그램을 만들면서 확장성을 포기하다보니 결국에는 변화에 빠르게 대응하지 못하고, 시장에서 도태되게 되었습니다. 트랜드는 ADB를 버리고 엔지엠 매크로와 같은 윈도우 기반으로 변화하고 있습니다.

     

    개발자에게 후원하기

    MGtdv7r.png

     

    추천, 구독, 홍보 꼭~ 부탁드립니다.

    여러분의 후원이 빠른 귀농을 가능하게 해줍니다~ 답답한 도시를 벗어나 귀농하고 싶은 개발자~

    감사합니다~

    • 네이버 공유하기
    • 페이스북 공유하기
    • 트위터 공유하기
    • 카카오스토리 공유하기
    추천0 비추천0

    댓글목록

    profile_image

    엔지엠소프트웨어님의 댓글

    엔지엠소프트웨어 쪽지보내기 메일보내기 홈페이지 자기소개 아이디로 검색 전체게시물 작성일 Date

    글의 내용이 처음 접하면 어렵고 다소 복잡할 수 있습니다.
    고객 서비스방에 궁금한 내용을 문의하시면 좀 더 자세하게 알려드리겠습니다.