【问题标题】:How to use "native" custom mouse cursors from within Flash apps?如何在 Flash 应用程序中使用“本机”自定义鼠标光标?
【发布时间】:2008-11-15 23:50:19
【问题描述】:

在 Flash 应用程序中更改光标的最常见方法似乎是基于简单的隐藏本机操作系统光标显示图形(由 Flash Player 绘制)在(隐藏)光标所在的 Flash 矩形内。例如,mx.managers.CursorManager 就是这样做的。我发现这种方法不可接受的原因是 Flash Player 在更新光标图形方面不够快,导致光标移动出现一些非常明显的滞后,我认为这是一个非常基本的问题可用性问题和烦恼,使整个应用程序看起来比实际慢。

另一方面,我注意到浏览器中的 CSS cursor 属性 实现的工作方式与它应该的一样——即,当使用它来实现自定义鼠标光标。

所以我的问题是:有没有办法使用 CSS cursor 属性(或任何其他不涉及滞后、缓慢光标移动的方法)来更改 Flash 矩形顶部的光标?

我已经尝试通过 JavaScript 更改 Flash 元素的 cursor 样式属性(或 Flash 元素周围的 Div 包装器),但似乎无法正常工作。有没有人成功做过这样的事情?

【问题讨论】:

    标签: css apache-flex flash actionscript-3 cursors


    【解决方案1】:

    原生光标在 Flash Player 10.2 测试版中可用。所以你应该试一试!见:http://www.bytearray.org/?p=2373

    【讨论】:

      【解决方案2】:

      我认为 Flash 无法使用自定义系统光标。在我作为 Flash 开发人员的 6 年中,我从未听说过这样的功能或黑客攻击。

      【讨论】:

        【解决方案3】:

        我理解您的抱怨,我也对显示更新的滞后程度感到沮丧。考虑使用 CSS 在浏览器中设置光标样式的解决方案虽然是一种有趣的方法......它闻起来很臭,但最重要的是,您可以使用 ExternalInterface 从 Actionscript 实现对 CSS 光标属性的控制。这样,您大概可以与调用一些 Javascript 以在运行时修改 HTML 页面 CSS 的 HTML 容器进行通信。不是 100% 确定这会奏效,但如果你绝望,它可能值得一试。否则,最好坚持使用 CursorManager。

        【讨论】:

          【解决方案4】:

          CursorManager 是它,但我没有遇到任何滞后的问题。

          如果您还没有看过它,请查看 Colin Moock 的 CustomMousePointer 类。他在http://www.moock.org/eas3/examples/ 上发布了他的 Essential AS3 书中的大量 AS3 示例和示例代码。向下滚动到或搜索自定义鼠标指针链接。它在第 22 章标题下。

          顺便提一下,这些示例中的代码最初是供 Flash 开发人员使用的,因此您可以通过使用 Flash 的 AS3 实现中不可用的对象来针对 Flex 优化其中的一些代码。

          【讨论】:

            【解决方案5】:

            我相信 Flash Player 10 会原生让您选择 ibar、拖动手、手指或普通光标,但如果您使用的是 Flash 9,这是不可能的,而且我认为 CSS hack 也不会起作用。

            我的建议是 - 使用 MOUSE_MOVE 事件来定位图形并设置尽可能高的帧速率(例如每秒 50 帧)。

            【讨论】:

              【解决方案6】:

              实际上,您可以通过编写一个调用 javascript 来更新鼠标光标的 ExternalInterface 来实现这一点。 jQuery 功能在这里可以很好地工作,这是我在我的新作品集网站中为按钮和 Flash 应用程序的各个区域所做的事情。

              新的投资组合尚未上线,但应该会在接下来的一两周内发布,因为好奇的人会在http://chrismcintoshdesigns.com

              【讨论】:

                猜你喜欢
                • 2010-10-04
                • 2011-10-08
                • 1970-01-01
                • 1970-01-01
                • 1970-01-01
                • 1970-01-01
                • 1970-01-01
                • 1970-01-01
                • 1970-01-01
                相关资源
                最近更新 更多