flash - as3 : how to emulate MouseEvents?

标签 flash apache-flex actionscript-3 air adobe

我如何“模拟”一个MouseEvent,它尚未由按钮启动并具有eventListener (例如仅通过一个简单的函数调用)以及如何将变量传递给它来切换event.types

    public function myMouseEvent(event:MouseEvent):void
    {
            switch (event.type)
            {
                case "mouseDown" :
                     trace(event.type)
                     break;

                case "mouseUp" :
                     trace(event.type)
                     break;
            }
    }

    myMouseEvent(null) // ? nothing happens...

最佳答案

1/基本

根据您的情况,您可以直接调用

myMouseEvent(new MouseEvent(MouseEvent.MOUSE_DOWN));

2/事件

但是您可以以更加面向事件的方式来实现。

eventDispatcher.dispatchEvent(new MouseEvent(MouseEvent.MOUSE_DOWN));

其中 eventDispatcher 是您添加监听器的 Sprite ( or something else )。

3/适当的事件

因为您无法访问 MouseEvent 的所有属性当你像这样发送它时,有一个更干净的方法来做到这一点:

public function myMouseEvent(event:Event):void
{
        switch (event.type)
        {
            case "mouseDown" :
                 trace(event.type)
                 break;

            case "mouseUp" :
                 trace(event.type)
                 break;
        }
}
eventDispatcher.addEventListener(MouseEvent.MOUSE_DOWN, myMouseEvent);
eventDispatcher.dispatchEvent(new Event(MouseEvent.MOUSE_DOWN));

这三个都可以工作!

关于flash - as3 : how to emulate MouseEvents?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5406988/

相关文章:

apache-flex - 在 Flash Builder 4 中同时编辑多个状态

apache-flex - 更新数据提供者的数据后保持我的排序

actionscript-3 - FFMPEG 在 YouTube 上直播时处于永无止境的状态

apache-flex - 我喜欢为游戏实现 Flex to Server comet/long polling

javascript - 如何GetVariable() flash类变量?

Javascript 或 Flash 导出到 CSV/Excel

css - 使用 CSS 设置 Flex MX ComboBox 背景颜色

apache-flex - 使 Flex 在 AreaSeries 中显示最近的数据提示

apache-flex - Adobe AIR - 读取 AIR 包外同一文件夹中的文件

actionscript-3 - ActionScript3 字典