Curso AS3

Mouse wheel para Flex no Mac OSX

Meu micro principal é um Macbook, e desenvolvendo uma aplicação em Flex a falta do suporte ao Mouse wheel estava me chateando e resolvi partir para uma solução.

Encontrei diversas soluções, mas somente uma automática, que é o que eu preciso, habilitar o suporte a mouse wheel na aplicação. A solução foi encontrada no hasseg.org, muito simples de ser aplicado.

Primeiro inclua o javascript no html da página.
Obs: O swf está sendo incluído via SWFObject.

JavaScript:
  1. <script type="text/javascript">
  2.     var mw_flashMovieId = "flashMovie"; //id do seu swf
  3.     var mw_flashContainerId = "flashContainerDiv"; //id da div do seu swf
  4. </script>
  5. <script src="osxmousewheel.js" type="text/javascript"></script>

No Actionscript da sua applicação Flex:

Actionscript:
  1. import org.hasseg.externalMouseWheel.*;
  2. private var _mwSupport:ExternalMouseWheelSupport = ExternalMouseWheelSupport.instance;
  3.  
  4. ExternalMouseWheelSupport.registerAutomatically = true;

Pronto! Já está com o suporte ao mouse wheel e você pode também adicionar listener normalmente:

Actionscript:
  1. myBox.addEventListener(MouseEvent.MOUSE_WHEEL, function(event:MouseEvent):void {
  2.     t.text = ("Mouse wheel delta: "+event.delta);
  3. });

Exemplo rodando.

Código fonte do exemplo com o javascript e package dos scripts necessários.

E ainda uma documentação.

Leave a Reply