NGMsoftware

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

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

    팁 앤 테크

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

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

    에디터 다클라 매크로에서 마우스 중복 입력 방지 옵션 활용법.

    페이지 정보

    본문

    안녕하세요. 엔지엠소프트웨어입니다. 비활성 또는 활성 및 하드웨어 입력 방식에서 마우스 중복 입력 방지 옵션을 어떻게 사용하는지 알아보도록 하겠습니다. 비활성 매크로인 경우 각각의 클라이언트(핸들)에 마우스와 키보드 신호를 보내기 때문에 마우스와 키보드 동작에 문제가 발생하지는 않습니다. 하지만, 활성 모드인 경우에는 물리적인 마우스와 키보드가 하나뿐이므로 동시에 여러개의 클라이언트에 신호를 줄 수 없습니다. 활성 모드와 하드웨어 모드에서는 순차적으로 마우스와 키보드 신호를 입력해야 합니다. 아래 그림과 같이 옵션에서 "마우스 중복 입력 방지 옵션"에 체크하고, "대기"를 선택하세요.

    • 대기: 다른 스크립트 또는 마우스 동작(클릭, 더블클릭, 다운, 업, 이동)이 입력중이면, 동작이 끝날때까지 기다립니다.
    • 건너뛰기: 다른 스크립트 또는 마우스 동작(클릭, 더블클릭, 다운, 업, 이동)이 입력중이면, 현재 마우스 동작을 건너뛰고 다음 액션으로 넘어갑니다.

    G8jV2kv.png

     

     

    간단한 테스트를 위해 아래 그림과 같이 그림판 2개를 띄워놓고, 인식할 수 있는 이미지를 추가 했습니다.

    8rMBOb0.png

     

     

    마우스 이동을 확인하기 위해 하드웨어 모드로 설정했습니다. 하단에 첨부되어 있는 mouse.zip 파일을 다운로드 후 압축을 풀어주세요. 그리고, mouse1.ngsmouse2.ngs를 에디터에서 열어주세요. 2개의 스크립트가 모두 동일한 구조를 가지고 있습니다. [ 이미지 매치 ]만 다릅니다. 그리고, 하드웨어 모드를 사용하기 위해 시리얼 통신의 [ 아두이노 연결 ] 액션이 각각 추가되어 있습니다. 연결 액션의 이동 거리이동 속도는 아래 그림을 참고하세요.

    ※ 이동 거리와 이동 속도를 조절하면 빠르게 또는 느리게 마우스 동작을 수행합니다.

    jeOD8Bm.png

     

     

    mouse1의 이미지 매치 액션은 좌측 그림판에서 검은색 점을 찾도록 찾기 영역이 설정되어 있습니다. mouse2의 이미지 매치 액션은 우측 그림판의 검은색 점을 찾습니다.

    LLD3kP2.png

     

     

    [ 액션 반복 ]은 각각의 스크립트가 검은색 점을 2번 찾도록 설정되어 있습니다. 마우스가 겹치지 않게 각각 이미지 매치의 마우스 동작이 수행되는지 확인하기 위한 용도입니다.

    t8lUV4t.png

     

     

    두번째 이미지 매치는 좌측의 사각형과 우측의 5각형을 각각 찾아서 클릭하도록 되어 있습니다. 동일한 모양이 아니라서 찾기 영역은 설정하지 않아도 됩니다. 아래 그림과 같이 이미지 미리 보기에 체크하면 이미지가 선택된 조건(이미지 체크, 이미지 서치, 이미지 매치등등...)에 마우스를 올리면 이미지를 미리 확인할 수 있습니다.

    HYDrzRE.png

     

    tdRK1Ch.png

     

     

    마지막에 지연은 스크립트가 하나라도 종료되면 시리얼 포트 연결 정보가 사라지기 때문에 정보를 유지하기 위해 추가한 설정입니다. 만약, 매인에 연결 정보가 있고, 서브 스크립트 형태로 추가했다면 이 문제는 자연스럽게 해결됩니다. 이외에도 플레이어의 멀티 핸들 콘트롤러를 사용하면 서브 스크립트와 동일하게 동작합니다. 테스트를 위해 매크로를 실행 해보세요. 아래 동영상처럼 동시에 실행되는 스크립트라도 마우스 동작에 영향을 주지 않고, 각각 동작하게 됩니다.

    ※ 서브 스크립트는 비동기로 동시에 실행될 수 있도록 설정해야 합니다.

     

     

    이번에는 스크립트 실행 액션을 이용해서 비동기로 테스트 해보겠습니다. mouse1과 mouse2에서 연결 액션과 지연 액션을 모두 삭제 해주세요.

    o0d3iEU.png

     

     

    main 스크립트를 하나 추가한 후 아래 그림과 같이 연결 액션과 [ 스크립트 실행 ] 액션을 2개 추가합니다. 각각 스크립트를 선택하고 비동기로 설정하세요.

    8WXRa6V.png

     

     

    서브 스크립트가 완료될때까지 매인 스크립트가 종료되지 않도록 [ 지연 ] 액션을 추가하고, 10초를 설정했습니다.

    WEF4OC9.png

     

     

    이번에는 스크립트 전체 실행이 아닌 매인에서 스크립트 실행입니다. 결과는 동일합니다.

     

     

    이번에는 [ 서브 스크립트 ] 액션으로 실행 해보겠습니다. 아래 그림과 같이 서브 스크립트를 2개 추가하고, 비동기로 설정하세요.

    bmbOycG.png

     

     

    매인 스크립트에서 실행 버튼을 클릭하세요. 사용하는 액션은 다르지만, 결과는 항상 동일합니다.

     

     

    멀티 다클라 매크로를 만들 때 대부분은 [ 핸들 ]을 추가하여 비활성 모드를 사용합니다. 또는 안드로이드 핸드폰을 USB로 연결해서 ADB와 SCRCPY를 이용해서 멀티 다클라 비활성 매크로를 구현할 수 있습니다. 하지만, 이런 방식은 최고의 효율을 낼 수 있지만 그만큼 초기 비용이 많이 들어갑니다. 그래서, 활성 모드의 하드웨어(기계식) 방식을 다클라로 사용해야 하는데 아무래도 비활성 모드보다는 효율이 떨어집니다. 각각의 클라이언트를 순차적으로 실행하더라도 하나의 스크립트가 완료될 때까지 기다리기 보다는 번갈아가면서 순차 실행한다면 좀 더 효율적인 매크로를 제작할 수 있을겁니다.

     

    결과론적이지만, 하나의 스크립트에 클라이언트 5개를 번갈아가면서 이미지를 체크하고 클릭하고 루틴을 이동하게 만들수도 있습니다. 하지만, 이렇게 만들면 스크립트가 길어지고 유지보수에 많은 시간과 비용이 발생하게 됩니다. 그래서, 비활성 모드와 같이 동일한 스크립트를 재활용하려면 옵션의 마우스 중복 입력 방지와 비동기 모드를 같이 사용해야 합니다.

     

    개발자에게 후원하기

    MGtdv7r.png

     

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

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

    감사합니다~

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

    첨부파일

    댓글목록

    등록된 댓글이 없습니다.