Starling 멀티터치 PC에서 사용하기

Starling 은 다들 아시다시피 Stage3D 를 이용하는 게임엔진입니다. 또 Sparrow 를 근간으로 하고 있기 때문에 모바일용 게임제작에 많이 사용되고 있습니다. 모바일을 지원한다는 것은 즉 멀티터치를 지원한다는 이야기 입니다. 그런데 이 Starling 이 모바일에서는 멀티터치가 별 문제 없이 잘되는데 PC에서는 지원을 안하더군요. 다음과 같은 방법으로 Starling 의 멀티터치를 PC에서 사용 할 수 있습니다.

먼저 multitouchEnabled 를 활성화 합니다.

Starling.multitouchEnabled = true;

그리고 Starling.as 594줄의 touchEventTypes 게터함수를 아래와 같이 수정합니다.

private function get touchEventTypes():Array
        {
            return !multitouchEnabled ?
                [ MouseEvent.MOUSE_DOWN,  MouseEvent.MOUSE_MOVE, MouseEvent.MOUSE_UP ] :
                [ TouchEvent.TOUCH_BEGIN, TouchEvent.TOUCH_MOVE, TouchEvent.TOUCH_END ];
        }

Mouse.supportsCursor 함수는 PC상에서 true 이므로 TouchEvent를 사용할 수 없습니다. TouchEvent 를 사용 할 수 있도록 제거 합니다. 그럼 이제 PC에서도 모바일과 동일하게 터치이벤트를 이용 할 수 있습니다.

다만 위와 같이 단순하게 제거할 경우 마우스로는 작동을 안하게 되니 이점만 주의 하면 될 것 같습니다.

p.s. BGM 이 뭔가 촌스럽다;;;

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.