본문 바로가기
오토 매크로

모바일 매크로 제작 - ADB 안드로이드 앱플레이어에서 찾기 영역에 대한 이해

by ngmaster 2022. 9. 15.
반응형

무료 매크로 프로그램 다운로드

http://ngmsoftware.com/bbs/board.php?bo_table=product1&wr_id=32 

 

엔지엠소프트웨어

엔지엠 매크로는 복잡한 반복작업을 자동화할 수 있습니다. PC 게임, 모바일 게임을 최적으로 지원하며 모든 PC 프로그램 및 업무에 적용할 수 있습니다.

www.ngmsoftware.com

#매크로 #매크로프로그램 #메크로 #g매크로 #마우스매크로 #키보드매크로 #엑셀매크로 #키매크로 #수강신청매크로 #로지텍마우스매크로 #매크로키보드 #파이썬매크로 #매크로뜻 #매크로마우스 #로지텍매크로 #ld플레이어매크로 #오토마우스매크로 #키보드마우스매크로 #오토핫키매크로 #이미지매크로 #이미지인식매크로 #하드웨어매크로 #화면인식매크로 #선착순구매매크로 #이미지서치매크로 #한글매크로

  • 엔지엠 무료: 무료 (전체 기능의 50프로)
  • 엔지엠 커뮤니티 월 이용료: 4,500원, 1년 이용료: 55,000원 (전체 기능의 80프로)
  • 엔지엠 얼티밋 월 이용료: 6,500원, 1년 이용료: 77,000원 (전체 기능의 90프로)
  • 엔지엠 엔터프라이즈 월 이용료: 9,200원, 1년 이용료: 110,000원 (전체 기능 사용)

 

안녕하세요. 엔지엠소프트웨어입니다. 녹스나 엘디 또는 모모나 블루스택과 같은 안드로이드 앱플레이어에서 비활성으로 업무를 자동화하는 방법은 크게 2가지입니다. 첫번째는 [ 핸들 추가 ] 액션을 이용한 윈도우 API를 사용하는 방법이고, 두번째는 [ ADB(Android Debug Bridge) ]를 사용하는 방법입니다. 이 2가지 방식에 대한 차이점은 [ 여기 ] 글을 한번 읽어보세요^^

 

오늘의 주제인 비활성 상태에서 찾기 영역 동작에 대해 알아보도록 하겠습니다. 찾기 영역은 이미지 조건들(이미지 서치, 이미지 매치등등...)에 포함되어 있는 하나의 옵션입니다. 이미지 조건이 동작하는 방식은 생각보다 단순합니다. 사용자가 미리 캡쳐해둔 "A 이미지"를 가져와서 매크로가 실행될 때 윈도우 화면을 캡쳐한 이미지 안에서 "A 이미지"를 찾는 방식입니다. 그런데 동일한 이미지가 여러곳에 있으면 어떻게 해야 할까요? 특정 영역 안에서만 "A 이미지"를 찾으면 됩니다. 아래 그림에서 화면 중앙에 있는 물음표(?)를 찾는다고 생각 해보세요.

 

 

아래 동영상과 같이 [ 이미지 서치 ]나 [ 이미지 매치 ] 액션의 찾기 영역을 설정할 수 있습니다.

 

 

찾기 영역을 설정하면 이미지 조건들의 속도가 빨라집니다. 여러가지 상황에 따라 다르겠지만, 최소 두배 이상 속도가 개선될겁니다. 이유는 간단한데요. 찾는 이미지를 바늘이라고 생각해보세요. 바늘을 집 전체에서 찾는것보다 방 또는 바구니에서 찾는게 훨씬 빠를겁니다. 이제 안드로이드 앱플레이어(녹스, 엘디, 모모, 미뮤, 블루스택, SCRCPY등등...)를 실행하세요. 그리고, 아래 그림과 같이 Tools를 이미지 매치에서 캡쳐했습니다.

 

 

정상적으로 찾아지는지 테스트를 위해 클릭을 설정 해줍니다.

 

 

정상적으로 Tools 이미지를 찾아서 클릭했습니다. 이 때 제 컴퓨터 기준 속도는 0.683초가 걸렸습니다. 이번에는 찾기 영역을 설정하고 다시 테스트 해보도록 하겠습니다.

 

 

제 모니터 해상도 기준 1920x1080(FHD)에서 Tools 이미지를 찾는데 0.683초가 걸렸는데요. 찾기 영역으로 184x151을 설정한 후 0.091초가 걸렸습니다. 대략 7배 정도 성능이 향상된 것을 알 수 있습니다. 넓은 공간에서 이미지를 찾는것보다는 좁은 공간에서 찾는게 아무래도 빠르겠죠^^; 이번에는 창을 이동한 후 다시 실행 해보도록 하겠습니다. 아래 그림과 같이 녹스 플레이어를 이동시킨 후 이미지 매치를 실행 했습니다. 이미지를 찾을 수 없었습니다.

 

 

위에서 왜 이미지를 못찾았을까요? 아래와 같이 이미지 찾기 영역을 확인 해보세요. 찾기 영역 안에 Tools 이미지가 없기 때문입니다.

 

 

이번에는 [ 핸들을 추가 ]하고, 다시 실행 해볼까요?

 

 

핸들을 추가하면, 이미지 찾기 영역은 그대론데 정상적으로 클릭이 발생합니다. 이미지를 잘 찾았다는 의미인데요. 이렇게 동작하는 이유는 핸들이 추가되면 핸들 값에 따라 위치가 내부적으로 보정되기 때문입니다. 이미지 캡쳐 당시에 프로그램의 위치를 이미지 내부에 저장 해둡니다. 그리고, 핸들을 추가하면 핸들 프로그램의 위치를 가져와서 이미지 캡쳐 당시의 위치와 비교한 후 좌표를 다시 계산해서 처리합니다.

 

 

이미지 캡쳐할 때 녹스의 위치가 100x100이라고 생각 해보세요. 핸들을 추가하면, 매크로가 실행될 때 핸들에 설정된 프로그램의 위치를 가져옵니다. 이 때 녹스의 위치가 200x200이라고 한다면, 처음 100x100에서 200x200으로 이동한 차이 100x100을 현재 200x200에서 빼줍니다. 그러면 100x100위치가 되므로 좌표는 동일한 위치를 클릭할 수 있게됩니다. 쉽게 말해서 처음 위치에서 이동한 거리만큼 계산해서 좌표에 반영해준다는 뜻입니다. 이렇게 보정된 값을 스크립트에 갱신하면 문제가 될 수 있기 때문에 내부적으로만 계산되고, 스크립트의 액션에 변경된 위치를 업데이트하지는 않습니다. 그래서, 마우스 좌표나 찾기 영역과 같은 값은 변경되지 않는겁니다. 이번에는 ADB를 추가하고, 다시 테스트 해볼까요?

 

 

ADB는 콘트롤의 핸들을 가지고 있지 않기 때문에 클릭할 수 없습니다. 이전 위치와 현재 위치를 계산할 수 없기 때문입니다. 따라서, ADB를 사용하는 경우에는 창 위치를 고정시킨 후 사용하는게 좋습니다. 아래 동영상과 같이 안드로이드 앱플레이어 매크로를 만들 때 처음 위치를 설정해두고 스크립트를 제작해야 합니다.

 

 

ADB와 핸들을 하이브리드 형태로 사용할 수 있습니다. 이미지 조건 액션들은 핸들로 처리하고, 마우스와 키보드는 ADB를 사용하는 것입니다. 이미지 매치 위아래에 핸들 추가와 핸들 삭제를 넣어주면 정상 동작합니다. 물론, 다클라에 신호를 주는것도 잘 동작하게 됩니다. 참고로, 마우스 이펙트가 표시되지 않는다는 의미는 ADB 신호로 잘 변환되었다는 뜻입니다.

 

 

간단하게 ADB 인터페이스를 사용할 때 찾기 영역을 어떻게 사용해야 하는지 알아보았습니다. 기존 작성 방법보다는 다소 복잡한 부분이 있기는 하지만, 하이브리드 방식을 사용하면 좀 더 효율적이고 정확하게 동작하는 매크로를 만들 수 있기도 합니다. 이외에도 활성, 비활성 모드와도 잘 조합해서 사용한다면 더 좋은 결과물이 나오지 않을까 생각합니다^^

[ 초보자도 쉽게 따라할 수 있는 기초 학습 강좌 보기 ]

 

원본 글 보기

http://ngmsoftware.com/bbs/board.php?bo_table=tip_and_tech 

 

엔지엠소프트웨어

엔지엠 매크로는 복잡한 반복작업을 자동화할 수 있습니다. PC 게임, 모바일 게임을 최적으로 지원하며 모든 PC 프로그램 및 업무에 적용할 수 있습니다.

www.ngmsoftware.com

#비활성매크로 #g102매크로 #철권매크로 #레이저마우스매크로 #ghub매크로 #녹화매크로 #키보드반복매크로 #로지텍마우스광클매크로 #플라스크매크로 #윈도우매크로 #비활성g매크로 #오토매크로 #자동사냥 #주식매크로 #오토핫키키보드 #오토핫키마우스 #오토핫키이미지 #지존오토 #기계식매크로 #하드웨어매크로 #무한반복매크로 #대량이메일발송매크로 #엑셀VBA매크로 #주식모니터링매크로

 

 

반응형

댓글