【问题标题】:Change Mouse state with AS3使用 AS3 更改鼠标状态
【发布时间】:2012-02-20 15:42:33
【问题描述】:

是否可以使用动作脚本更改鼠标的状态。那么如果用户单击并按住鼠标左键MOUSE_DOWN,是否可以在不释放鼠标的情况下让actionscript将鼠标状态更改为MOUSE_UP

我有一个 MouseEvent.MOUSE_DOWN

stage.addEventListener(MouseEvent.MOUSE_DOWN, start);

但在启动功能中,即使用户按住按钮,我也想将鼠标状态设置为 MOUSE_UP。

function start ():void {

      trace("You have pressed the mouse button");
      //SET MOUSE TO MOUSE_UP
}

【问题讨论】:

    标签: flash actionscript-3 mouseevent addeventlistener


    【解决方案1】:

    您不能取消点击鼠标按钮,但您可以在剪辑上调度 MouseEvent.MOUSE_UP 而无需任何鼠标交互。

    clip.dispatchEvent(new MouseEvent(MouseEvent.MOUSE_UP));
    

    但手动调度需要添加鼠标 x 和 y 值。

    另外,请注意您可以使用函数:

    var dspArray:Array = stage.getObjectsUnderPoint(new Point(stage.mouseX,mouseY));
    for each(var dsp:DisplayObject in dspArray){
        dsp.dispatchEvent(new MouseEvent(MouseEvent.MOUSE_UP));
    }
    

    但不要忘记,当用户释放鼠标按钮时,它也会调度 MouseEvent。

    【讨论】:

    • 太好了,我会考虑使用 dispatchEvent ! +1 已选中。
    • 但正如我所说,您必须手动添加 x 和 y 坐标才能在函数中读取它们,为此使用 globalToLocal 和 localToGlobal 方法。
    猜你喜欢
    • 2012-05-10
    • 2019-01-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-01-01
    • 2015-11-05
    • 1970-01-01
    • 2012-05-31
    相关资源
    最近更新 更多