我无法在我的flex应用程序的全屏模式下显示自定义光标。我怎么能这样做?
答案 0 :(得分:0)
CursorManager.removeCursor()
method从光标列表中删除光标。
如果要删除的光标是当前显示的光标,CursorManager将显示列表中的下一个光标(如果存在)。如果列表变空,CursorManager将显示默认系统光标。
除了再次调用setCursor
之外,我找不到将删除的光标添加回光标列表的方法。以下代码适用于普通模式和全屏模式。必须有一个更好的方法,因为customID
在每个调用中都会增加 - 但至少它可以正常工作。
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="vertical"
xmlns:local="*" >
<mx:Button label="Custom" click="onCustomClick();"/>
<mx:Button label="Default" click="onDefaultClick();"/>
<mx:Button label="Go Fullscreen"
click="stage.displayState = StageDisplayState.FULL_SCREEN;"/>
<mx:Script>
<![CDATA[
import mx.managers.CursorManager;
[Embed(source="cursor.png")]
public var CursorPNG:Class;
private var customID:int;
private function onCustomClick():void
{
customID = CursorManager.setCursor(CursorPNG);
}
private function onDefaultClick():void
{
CursorManager.removeCursor(customID);
}
]]>
</mx:Script>
</mx:Application>
答案 1 :(得分:0)
我使用的是您正在谈论的相同方法。我正在调用方法,该方法在Canvas上更改鼠标的RollOver事件上的光标。然后我在RollOut事件上调用恢复光标方法,该方法删除先前分配的光标并显示系统的默认光标。在普通模式下一切正常。自定义光标在“画布”的翻转和显示时出现并消失。 但是当我将画布切换到全屏模式时,自定义光标只会出现一段时间左右。然后它消失了。屏幕上没有光标。如果移出Canvas,则系统的默认光标仅可见。