在全屏模式下显示自定义光标 - Flex 3.0

时间:2009-10-17 08:45:20

标签: flex

我无法在我的flex应用程序的全屏模式下显示自定义光标。我怎么能这样做?

2 个答案:

答案 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,则系统的默认光标仅可见。