NGMsoftware

NGMsoftware
로그인 회원가입
  • 매뉴얼
  • NGM 6
  • 매뉴얼

    NGM 6

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

    에디터 함수 상자 - 함수 - 이벤트 다시 시작, 이벤트 일시 중지 (Function box, Function, Event Resum…

    페이지 정보

    본문

    안녕하세요. 엔지엠소프트웨어입니다. 이벤트 액션의 활용성을 높이기 위해 이벤트를 제어할 수 있는 액션이 추가되었습니다. 이벤트 다시 시작이벤트 일시 중지 액션을 어떻게 사용할 수 있는지 자세하게 알아보도록 하겠습니다. 우선, 이벤트가 무엇인지 이해할 필요가 있는데요. 아래 글을 먼저 읽어보시면 이 글을 보는데 도움이 될거 같습니다.

    [ 엔지엠 매크로에서 이벤트란? ]

     

    테스트를 위해 엔지엠 매크로를 실행하고, 새로운 스크립트를 하나 추가하세요. 또는 하단에 첨부되어 있는 "이벤트 예제.ngs" 파일을 다운로드하고 열어보세요.

    UNwZkcH.png

     

     

    이벤트는 총 3개가 등록되어 있습니다. 3개의 그림판에 점 하나가 찍혀 있는데요. 각각 찾기 영역을 설정해서 독립적으로 동작하도록 처리했습니다.

    P59Rk0f.png

     

     

    스크립트에 대해 잠시 설명하자면, 이벤트들은 각각 자신들의 조건을 체크합니다. 찾기 영역에 설정된 위치에 검은색 점이 출현하는지 확인하는데요. 이벤트라서 비동기로 패러럴하게 동시에 동작합니다. 그림판 3개에서 각각 검은색 점을 동시에 찾습니다. 이벤트는 비동기라서 매인에서는 무언가 할일이 있어야 합니다. 이 예제에서는 1초를 쉬면서 무한 반복하게 해두었습니다.

    vk5IufH.png

     

     

    각각의 루틴(a 루틴, b 루틴, c 루틴)은 각각의 이벤트가 발생할 때 수행해야 할 내용들이 들어있습니다. 이 예제에서는 다 동일한 루틴을 가지고 있습니다. [ 그룹 ]과 [ 액션 반복 ]으로 1초 쉬면서 10번 동작합니다. 그리고, 아래에 [ 액션 이동 ]이 다시 매인으로 보냅니다.

    ddOyDIg.png

     

     

    이 스크립트를 실행 해보면, 루틴이 a, b, c 번갈아 가면서 실행되는걸 확인할 수 있습니다. 첫번째 발생한 이벤트가 완료되기 전 다른 이벤트도 자신의 체크 조건에 맞기 때문에 루틴을 강제로 이동시킵니다. 아래 동영상과 같이 그림판 3개가 동시에 인식되므로 루틴이 왔다갔다 하는걸 확인할 수 있습니다.

     

     

    이번에는 첫번째 그림판만 놔두고 나머지 그림판은 최소화 해둡니다. 그러면 정상적으로 동작하는것처럼 보일겁니다. 하지만, 두번째 그림판을 활성화하면 첫번째 루틴이 끝나기도 전에 두번째 루틴으로 이동하는걸 확인할 수 있습니다. 그러면 또다시 첫번째와 두번째 루틴을 왔다갔다 하면서 동작이 꼬이게 됩니다. 우리가 원하는 동작은 첫번째 동작이 완료된 후 다음 동작이 수행되어야 합니다.

     

     

    이번에는 이벤트들의 이벤트 동기화 속성을 모두 True로 변경하고 테스트 해보겠습니다. 이벤트 동기화는 등록된 모든 이벤트들을 동기적으로 수행할 수 있도록 해줍니다. 그림판 3개중에서 첫번째로 이벤트가 발생하면 다른 이벤트들을 모두 일시 중지 상태로 만듭니다. 이렇게하면 첫번째 이벤트의 루틴이 모두 처리될 때까지 다른 이벤트가 간섭하지 않게 됩니다.

    xHSyRCA.png

     

     

    다시 매크로를 실행하고, 아래 동영상처럼 그림판을 최소화했다가 활성화 해보세요. 이번에는 위와 다르게 이벤트가 발생한 루틴이 완료될 때까지 다른 이벤트가 발생하지 않습니다. 이벤트가 발생할 때 자동으로 다른 이벤트들을 모두 일시 중지 상태로 만들었기 때문입니다.

     

     

    그래서, 각각의 루틴의 끝에 이벤트 다시 시작 액션이 추가되어 있는 것입니다. 이미지 컨디션 이벤트들은 모두 이벤트 동기화 속성이 있습니다. 이 속성을 사용해도 되고, 함수 상자에 있는 이벤트 일시 중지 액션을 사용해도 됩니다. 루틴이 이동한 후 이벤트 일시 중지 액션이 위치해야 합니다. 여기에서는 이미지 컨디션 이벤트를 사용했기 때문에 이벤트에 기본적으로 제공되는 이벤트 동기화 속성을 사용했습니다. 이벤트 다시 시작, 이벤트 일시 중지 액션에는 이벤트 아이디를 설정할 수 있습니다. 이벤트 아이디를 설정하면 해당 이벤트만 제어할 수 있습니다. 이벤트 아이디를 공란으로 놔두면 등록된 모든 이벤트가 일시 중지되거나 다시 시작됩니다.

    1rkhhCR.png

     

     

    개발자에게 후원하기

    MGtdv7r.png

     

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

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

    감사합니다~

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

    첨부파일

    댓글목록

    등록된 댓글이 없습니다.