Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/actionscript-3/7.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/extjs/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Flash 鼠标滚轮在启动前是否有最小增量值?_Flash_Actionscript 3_Flash Builder - Fatal编程技术网

Flash 鼠标滚轮在启动前是否有最小增量值?

Flash 鼠标滚轮在启动前是否有最小增量值?,flash,actionscript-3,flash-builder,Flash,Actionscript 3,Flash Builder,我在鼠标滚轮delta值方面遇到了一些问题。看来除非我真的转动那个该死的轮子,否则这项活动不会启动。这很有意义,因为我得到的唯一值范围是3-30。我也希望能赶上1-3,因为如果我只旋转几圈,什么都不会触发,应用程序会感觉迟钝 仅供参考,我机器上的所有其他程序都能感觉到1级旋转,所以不是鼠标。如果增量小于3,AS3不会开火吗 这是密码 private function handleMouseWheel(e:MouseEvent):void { trace(e.delta); // Out

我在鼠标滚轮delta值方面遇到了一些问题。看来除非我真的转动那个该死的轮子,否则这项活动不会启动。这很有意义,因为我得到的唯一值范围是3-30。我也希望能赶上1-3,因为如果我只旋转几圈,什么都不会触发,应用程序会感觉迟钝

仅供参考,我机器上的所有其他程序都能感觉到1级旋转,所以不是鼠标。如果增量小于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);
}

增量的变化可能取决于用户的鼠标。

AS3没有任何可自定义的车轮灵敏度值

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

例如,在windows中,您可以在控制面板->鼠标中设置各种鼠标设置的灵敏度。
在“控制盘”选项卡中,用户可以设置控制盘对每个物理槽口的线数(如三角形)。默认值为3

同时,每个物理鼠标都有不同的切迹敏感度,例如,在操作系统中注册“切迹”需要移动多少鼠标

我相信swf的容器也有一定的影响,所以它在不同的浏览器、投影仪和IDE中的行为可能会有所不同

对于浏览器,大多数人似乎都会绕过flash,将JavaScript滚轮事件侦听/传递到flash中:

请参见以下库:

AS3仅发射+3(向上滚动)和-3(向下滚动),但我们可以通过除以一些常数来计算我们的需求

import flash.events.MouseEvent;

stage.addEventListener(MouseEvent.MOUSE_WHEEL, mouseWheelHandler);

function mouseWheelHandler(ev){
    trace(ev.delta/3); // +1 or -1
    trace(ev.delta/6); // +.5 or -.5
}

您的代码或设备有问题,请查看示例(您可以右键单击查看代码)。它在我的机器上运行得很好。

那么为什么其他程序会注意到?我知道增量的实际值可能会因用户而异(这是一个操作系统设置)。但是,说到物理鼠标,我可以在任何其他程序(包括chrome)的凹口上滚动,并进行注册。但是AS3似乎只注意到我是否真的在旋转轮子;抛开价值观不谈,除非我真的转动该死的轮子,否则这个事件甚至不会触发。我不知道。“典型值为1到3,但更快的旋转可能产生更大的值。此设置取决于设备和操作系统,通常由用户配置。”同一页面上没有任何JavaScript可以拦截鼠标滚轮事件,是吗?我也有同样的问题。我有多只老鼠。我可以使用一个,flash可以很好地拾取滚动事件(它总是显示+/-3或更大的增量。我的一个鼠标在滚动时产生较小的增量,并且事件从未触发。这在调试工具和浏览器中都是一个问题。你的应用程序在什么环境下运行?Web?Mobile?Desktop?@Jason-这可能是一个好的阅读:@Boundless-我同意这在flash中是一个巨大的麻烦我在过去遇到过这样的问题,为了让它正常工作,你必须使用JavaScript,这甚至没有任何意义。-1问题是,在调试中,事件处理程序不会因小于+/-3的增量而触发。在浏览器中,小于+/-3的增量转换为0。当你滚动时,你会看到什么范围的增量?如果你慢慢地向上滚动,快速地向上滚动,缓慢地向下滚动,或者快速地向下滚动,你只能得到1的增量?看起来你这边有问题。@无限不,当我快速滚动时,我得到1-3个增量,当我滚动slaw时,所以只有一个。伙计,这对我来说很好真的,在其他设备上也尝试一下