首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >AS3鼠标右键拖放

AS3鼠标右键拖放
EN

Stack Overflow用户
提问于 2015-12-14 22:32:50
回答 1查看 179关注 0票数 0

使用Flash Player 11.2,我们现在可以访问鼠标右键的鼠标事件:

  • MouseEvent.RIGHT_CLICK
  • MouseEvent.RIGHT_MOUSE_DOWN
  • MouseEvent.RIGHT_MOUSE_UP

然而,当我尝试使用这些来实现鼠标右键拖放时,似乎一旦鼠标右键关闭,我就不再获得MouseEvent.MOUSE_MOVE,舞台上的MouseX和MouseY成员在按钮发布前停止更新。这使得有效地不可能实现拖放。

使用下面的Flash Builder中的代码示例来了解我的意思:

  • 启动它,移动你的鼠标,你会看到你的鼠标位置更新日志。
  • 按住LMB,移动鼠标,你会看到更多的日志,很好!
    • 释放LMB,按住LMB,移动鼠标,没有日志,坏!

这是AS3的限制吗?我似乎找不到任何关于它的文件。

代码示例:

代码语言:javascript
运行
复制
package
{
    import flash.display.Sprite;
    import flash.events.MouseEvent;

    public class TestFlash extends Sprite
    {
        public function TestFlash()
        {
            if(stage){
            stage.addEventListener(MouseEvent.MOUSE_MOVE, onMouseMove);
            stage.addEventListener(MouseEvent.MOUSE_DOWN, onLMBDown);
            stage.addEventListener(MouseEvent.MOUSE_UP, onLMBUp);
            stage.addEventListener(MouseEvent.RIGHT_MOUSE_DOWN, onRMBDown);
            stage.addEventListener(MouseEvent.RIGHT_MOUSE_UP, onRMBUp);
            }

        }

        private function onMouseMove(event:MouseEvent) : void
        {
            trace("Mouse Pos, from event: x = " + event.localX + " y = " + event.localY + " from stage: x = " + stage.mouseX + " y = " + stage.mouseY);
        }

        private function onRMBDown(event:MouseEvent) : void
        {
            trace("RMB down");
        }

        private function onRMBUp(event:MouseEvent) : void
        {
            trace("RMB up");
        }

        private function onLMBDown(event:MouseEvent) : void
        {
            trace("LMB down");
        }

        private function onLMBUp(event:MouseEvent) : void
        {
            trace("LMB up");
        }
    }
}
EN

回答 1

Stack Overflow用户

发布于 2015-12-15 03:37:45

从您所描述的问题来判断,我认为您需要添加enter frame函数,否则触发器只会在鼠标单击的帧上激活,并在鼠标释放时激活。

代码语言:javascript
运行
复制
addEventListener(Event.ENTER_FRAME, dragdrop)
function dragdrop(event:Event):void {
"add dragging event here"
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/34277859

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档