요즘 들어 한창 다시 Flex를 공부하고 있습니다. 오래동안 안하다가 다시 하려니 잊어버린것도 많고 힘이 많이 들더군요 -_-; 거기에 개발 환경을 Mac으로 갈아탄 후 처음 Flex Builder를 사용하는 지라 더더욱 낯설었습니다. 그런데 한참 개발 하다 보니 난감한 상황을 맞이 하였습니다. 바로 Mac OS X(현재 Snow Leopard 버전을 사용중입니다.)에서 마우스 휠이 작동하지 않는 것이였습니다.. 이 문제는 Snow Leopard 이 전부터 Mac OS의 고질적인 문제더군요 -_-; (더 웃긴것은 SWF파일을 그냥 로컬에서 플래쉬 플레이어로 돌리면 휠이 동작합니다.) 다행히 이와 관련해서 해결책들은 이미 많이 나와 있었고 많은 분들이 관련 라이브러리를 제작 및 배포하고 계셨습니다. 그런데 제가 왜 이 포스팅을 쓰고 있을까요? 아무리 많은 자료가 있어도 제대로 쓰지 못한다면 난감하겠죠.. -_-; (오늘 이거 때문에 삽질로 대운하 팔 뻔 했습니다. ㅡ.,ㅡ;;)  그래서 미약하지만 초보의 입장에서 다시 정리를 해 봅니다.
  우선 제가 참조한 자료는 pixelbreaker : AS3.0 MouseWheel on MacOSX 입니다. 이 포스트에서는 예제 소스까지 제공하고 있습니다. 포스트를 대충 훑어보시면 아시겠지만 무척이나 간단합니다. 근데 왠지 모르게 잘 안되요 -_-;  가장 큰 문제 부분은 아래 소스의 두번째 줄입니다.

    import com.pixelbreaker.ui.osx.MacMouseWheel;
    MacMouseWheel.setup( stage );
이게 아마 Flash에서는 그냥 이렇게 쓸 수 있나봐요.. 근데 전 플래쉬를 못 쓴답니다. -_-;;(자랑은 아닙니다.. ㅡㅡ;;) 딱 보시면 아시겠지만 Flex에서는 import문 아래 바로 메쏘드 호출이 안되겠지요.. 그래서 setup 메쏘드를 Application의 creationComplete이벤트가 발생할 때 호출하였습니다. 근데 저 놈의 stage가 null이 뜨더군요 그래서 한참을 뒤적거리다 보니 creationComplete가 아니라 applicationComplete 이벤트가 발생할 때 호출하니 되더군요 -_-;
  HTML 코드는 그냥 저 포스트에서 다운 받은걸 아래와 같이 조금 수정해서 사용하시면 됩니다.

Posted by 제소

댓글을 달아 주세요



티스토리 툴바