naver / guitar

76 stars 18 forks source link

위치탭, 변수 선언 관련 질문 #369

Open rdal89 opened 7 years ago

rdal89 commented 7 years ago

안녕하세요. 모바일 게임 관련해서 코드를 짜다가 질문이 생겨, 글 올립니다.

  1. 변수를 이용한 위치탭 현재 위치탭을 하는 방식이 "30%, 30%" 위치탭한다. 이런 방식인데 여기서 x, y 좌표를 변수를 이용할 수 있나요?

  2. 현재 터치한 부분의 좌표 획득 녹스를 대상으로 하는 프로그램을 짜고 있는데요. 터치한 부분의 좌표를 획득할 수 있는 함수가 있을까요? 현재는 캡쳐 기능을 이용해 x, y좌표 획득 후, 일일이 변경하고 있는데, 아무래도 작업량이 많다보니 효율이 떨어지는 것 같아서요.

  3. 변수 선언 하나의 코드를 여러 단계로 나누어서 구현을 할 때, 다른 파일에 저장한 변수를 불러와서 쓸 수 있는 방법이 있나요? 예를 들어 은행 -> 입금 -> 적금.TXT / 예금.TXT 이런식으로 구현된 텍스트가 있을 때, 예금.txt에서 선언한 변수를 적금.txt에서도 사용할 수 있는가에 대한 질문이라고 보시면 될 듯 합니다.

고수님들의 고견 부탁드리겠습니다. 감사합니다.

추가로 label 설정은 어떻게 하는 건가요? github를 처음 써봐서 기본적인 사용 방법을 잘 모르겠네요..

ssmmhh commented 7 years ago

네, 모두 가능합니다.

  1. 아래 예제와 같이 "|" 기호로 변수를 지정하시면 됩니다.

    "|$x|%,|$y|%" 위치탭한다.

  2. 시스템 변수인 $GUITAR_RecentXPos 및 $GUITAR_RecentYPos 를 활용하시면 최근 클릭한 위치의 X,Y를 얻어올수 있습니다.

  3. 원하시는 공통변수를 설정하는 파일을 따로 두시고, 각 실제 수행되는 스크립트 상단에서 "실행"명령으로 호출하시면 변수가 설정됩니다.

  4. 레이블은 오른쪽 "labels" 를 지정해서 글에 맞는 것으로 지정하시면 됩니다. 주로 Q&A는 질문과 답변이고, Tip 에는 FAQ등 도움이 될만한 글들이 있습니다.

------ 실행스크립트 -----

notepad 프로세스선택

임시공용변수.txt 실행한다.

"|$x|%,|$y|%" 위치탭한다.

"$GUITAR_RecentXPos" 로그쓰기 "$GUITAR_RecentYPos" 로그쓰기

------ 임시공용변수.txt -----

$x=10 설정 $y=20 설정

rdal89 commented 7 years ago

답변 감사합니다.

그런데 추가적으로 한 가지 질문이 더 생겼습니다.

기존 녹스에서 텍스트 입력을 할 경우, 정상적으로 입력이 되었습니다. 그런데 모비즌 원격제어를 이용해 텍스트 입력을 시도하니, 텍스트 입력이 되지 않고 있습니다. SEND기능을 이용해 백스페이스바나 딜리트 기능은 정상적으로 입력이 되는 것을 확인했지만, 문자 입력은 되지 않고 있습니다.

동일한 기능을 카카오톡을 대상으로 적용시켰더니, 거기서는 문자가 정상적으로 입력이 되었습니다.

이 문제는 어떻게 해결을 해야할지 알려주실 수 있을까요?

참고로 이용한 디바이스는 갤럭시 S7입니다.

ssmmhh commented 7 years ago

모바일 단말기 관련해서 한글 입력 부분은 아래 글을 참고하세요.

https://github.com/naver/guitar/issues/136

rdal89 commented 7 years ago

일반적인 로그인 페이지를 대상으로 테스트를 해보니, 비밀번호 형태로 입력되는 란에는 정상적으로 입력이 되고 있는데, 아이디 입력 란에는 영문, 숫자만으로 구성된 텍스트조차 입력이 안 되더라구요..

ssmmhh commented 7 years ago

원격 제어 솔류션에서 한글 입력은 GUITAR의 문제가 아닌, 이기종간의 유니코드 지원 문제로 보셔야 합니다.

모비즌이나 VNC와 같은 원격제어 프로그램에서 PC의 유니코드체게가 다른 OS (안드로이드, 아이폰)와 100% 호환되지 않기 때문에 변환작업을 해 주어야 합니다.

현재 VNC의 같은 경우에는 직접 키 입력시 ASCII 는 지원하지만, 유니코드는 지원되지 않고 있습니다. 때문에 클립보드로 일부 입력을 지원하는 솔류션을 사용하고 있습니다.

모비즌에서 키입력(PC의 키보드입력)을 시도하게 되면, 현재 OS에 켜져있는 키패드 상태에 따라 임의의 문자들이 눌려질수 있기 때문에 정상 입력이 불가능합니다.

때문에 영문과 숫자의 경우는 직접 키로 입력하지만, 한글을 입력하게 되면 별도의 입력상자이 나와 그곳에 문장 전체를 적은후 일괄 전송하여 입력을 하고 있습니다.

즉, 원격제어 솔류션이 기존 PC환경처럼 사람이 한글 자소단위로 직접 실시간 입력이 가능한 환경이라면 GUITAR에서도 무리 없이 사용이 가능가능하나,

이기종간 코드 지원문제로 결국은 위와 같이 우회 방법으로 유니코드(한글)을 입력해야 합니다.