MOUSE_WHEEL在发生之前是否具有最小值?

Jas*_*son 8 flash actionscript-3 flash-builder

我在使用MOUSE_WHEEL delta值时遇到了一些问题.看起来事件并没有发射,除非我真的旋转了拦截的车轮.这是有道理的,因为我得到的唯一值是3-30.我希望能够抓到1-3,因为如果我只旋转几个凹槽,没有任何触发器,应用程序感觉迟钝.

仅供我在我的机器上的其他程序感觉那些1档的旋转很好,所以它不是鼠标.如果delta小于3,AS3会不会触发吗?

这是代码

private function handleMouseWheel(e:MouseEvent):void {
trace(e.delta); 
    // Output is always more/less than +/- 3 
}

private function handleStageInit(e:Event):void {
    stage.addEventListener(MouseEvent.MOUSE_WHEEL, handleMouseWheel);
}
Run Code Online (Sandbox Code Playgroud)

Bad*_*his 5

AS3没有任何可定制的车轮灵敏度值.

我认为,它的工作方式取决于物理鼠标操作系统设置.

例如,在Windows中,您可以在ControlPanel - >鼠标中设置各种鼠标设置的灵敏度.
在"车轮"选项卡中,用户可以设置车轮为每个物理凹口执行的线数(例如,增量).默认值为3.

同时,每只物理鼠标具有不同的陷波灵敏度,例如.你需要多少钱才能在操作系统中注册"缺口".

我相信swf的容器也有一些影响,因此在不同的浏览器,投影仪和IDE中可能会有不同的表现.

对于浏览器,大多数人似乎绕过闪存并将JavaScript滚轮事件监听/传递到闪存中:

查看这些库:

https://github.com/digi604/As3-Mouse-Wheel-Fixer

http://labs.byhook.com/2010/04/09/flash-mouse-wheel-support/


Use*_*ode 0

根据 ilike2Flash 的说法,增量的变化可能取决于用户的鼠标。

  • 那么为什么其他程序会注意到呢?据我所知,增量的实际值可能因用户而异(它是操作系统设置)。但是,说到物理鼠标,我可以在任何其他程序(包括 Chrome)中滚动并注册。但 AS3 似乎只注意到我是否真的转动了方向盘;除了值之外,除非我真的旋转该死的轮子,否则该事件甚至不会触发。 (2认同)