【问题标题】: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 {
         //
     }   
}

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

【问题讨论】:

    标签: events scroll actionscript click drag


    【解决方案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() 方法,以防您需要为拖动添加一些边界。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2011-08-06
        • 1970-01-01
        • 2011-09-29
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多