3

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

另一方面,我注意到浏览器中的CSScursor属性实现工作正常——即当使用它实现自定义鼠标光标时,光标移动没有明显的滞后。

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

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

4

6 回答 6

3

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

于 2010-12-01T08:44:40.063 回答
1

我不相信 Flash 有任何方法可以使用自定义系统光标。在我作为 Flash 开发人员的 6 年中,我从未听说过这样的功能或 hack。

于 2008-11-15T23:54:45.090 回答
0

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

于 2008-11-16T06:52:42.297 回答
0

CursorManager 就是它,但我没有任何懒惰的问题。

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

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

于 2008-11-17T16:51:35.990 回答
0

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

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

于 2008-11-17T18:47:52.353 回答
0

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

新的投资组合还没有,但应该在接下来的一两周内,因为好奇的人会在http://chrismcintoshdesigns.com

于 2010-10-10T17:13:30.740 回答