动作脚本鼠标滚动/鼠标拖动

Posted

技术标签:

【中文标题】动作脚本鼠标滚动/鼠标拖动【英文标题】:Actionscript MouseScroll / MouseDrag 【发布时间】:2015-10-10 12:53:57 【问题描述】:

Actionscript 中是否存在“MouseScroll”或“MouseDrag”事件,我无法正确找到某些内容。 我有这个:

resultPumpVolCalcBoxQv.addEventListener(MouseEvent.CLICK, getPumpVolumenQv);
resultPumpVolCalcBoxQn.addEventListener(MouseEvent.CLICK, getPumpVolumenn);
resultPumpVolCalcBoxQvng.addEventListener(MouseEvent.CLICK, getPumpVolumenng);

function getPumpVolumenQv(e:MouseEvent):void 

     pumpeVolQv = Number(pumpeVolumenstromTextFieldqv.text);
     pumpeVolN  = Number(pumpeVolumenstromTextFieldn.text);
     pumpeVolNg = Number(pumpeVolumenstromTextFieldng.text);
     if(pumpeVolumenstromTextFieldng.text != null && pumpeVolumenstromTextFieldn.text != null)         
        totalqv = (pumpeVolNg * pumpeVolN)/1000
        pumpeVolumenstromTextFieldqv.text = " " + totalqv;
      else 
         //
        

目前这适用于点击事件。 如果我拖动滚动条之类的东西,我想进行此计算。

【问题讨论】:

【参考方案1】:

您必须结合使用 MouseDown 和 MouseOut 来创建拖动结果

obj.addEventListener(MouseEvent.MOUSE_DOWN, mouseDown);
obj.addEventListener(MouseEvent.MOUSE_UP, mouseUp);

function mouseDown($e:MouseEvent):void
MovieClip($e.currentTarget).startDrag();


function mouseUp($e:MouseEvent):void
MovieClip($.currentTarget).stopDrag();

如果您希望它限制在 X 或 Y 位置,请在 startDrag() 函数中添加一个矩形框参数

【讨论】:

【参考方案2】:

您必须使用鼠标向上和鼠标向下事件来实现这一点。但是,请注意在不需要时添加然后删除事件侦听器。这样,您将确保事件侦听器被正确删除并且不会多次添加而导致内存问题。

private var yourObject:MovieClip;

private function addDragListeners():void

    yourObject.addEventListener(MouseEvent.MOUSE_DOWN, onMouseDown, false, 0, true);
    yourObject.addEventListener(MouseEvent.MOUSE_DOWN, onMouseUp, false, 0, true);


private function removeDragListeners():void

    yourObject.removeEventListener(MouseEvent.MOUSE_DOWN, onMouseDown);
    yourObject.removeEventListener(MouseEvent.MOUSE_DOWN, onMouseUp);


protected function onMouseDown(e:MouseEvent):void

    yourObject.startDrag();


protected function onMouseUp(e:MouseEvent):void

    yourObject.stopDrag();

您可以查看 startDrag() 方法,以防您需要为拖动添加一些边界。

【讨论】:

以上是关于动作脚本鼠标滚动/鼠标拖动的主要内容,如果未能解决你的问题,请参考以下文章

用鼠标滚轮拖动滚动条的时候老自动往上去

图片居中按比例显示鼠标滚动缩放鼠标拖动平移

在 MFC 中通过鼠标单击而不是按下拖动动作进行选择

按键精灵控制鼠标是怎么样调的?固定的几个位置?

在WORD里拖动鼠标滑轮,页面不上上下走,而是放大缩小,怎么回事?

如何使用鼠标单击和拖动在较小的 div 中滚动大图像?