【问题标题】:Custom Mouse Cursor dropping duplicate symbols after its been removed自定义鼠标光标在删除后删除重复的符号
【发布时间】:2016-11-22 14:07:53
【问题描述】:

首先,我对 as3 和一般的编码完全是个菜鸟,我几乎不会在代码 sn-ps 之外进行操作。

我正在做一个项目,其中一部分是一个场景,您在进入场景时会获得自定义鼠标光标,当您离开场景时,自定义鼠标光标会被移除。我用来启动自定义光标的代码是:

stage.addChild(crsTemple);
crsTemple.mouseEnabled = false;
crsTemple.addEventListener(Event.ENTER_FRAME, fl_CustomMouseCursor);

function fl_CustomMouseCursor(event:Event)
{
crsTemple.x = stage.mouseX;
crsTemple.y = stage.mouseY;
}
Mouse.hide();

crsTemple 是自定义光标的实例名称。然后,当进入一个新场景时(通过滚动一个对象),我在新场景中有以下代码:

stage.addChild(crsTemple);
crsTemple.mouseEnabled = false;
crsTemple.addEventListener(Event.ENTER_FRAME, fl_CustomMouseCursor_4);

function fl_CustomMouseCursor_4(event:Event)
{
    crsTemple.x = stage.mouseX;
    crsTemple.y = stage.mouseY;
}
Mouse.hide();

crsTemple.removeEventListener(Event.ENTER_FRAME, fl_CustomMouseCursor_4);
stage.removeChild(crsTemple);
Mouse.show();

不幸的是,每当我进入第二个场景时,我都会再次获得常规鼠标,但是当场景更改发生时,它会将 crsTemple 丢弃在鼠标所在的任何位置,并且在文件运行的其余时间里它一直呆在那里。

非常感谢任何帮助,非常感谢您帮助像我这样的菜鸟!

【问题讨论】:

    标签: actionscript-3


    【解决方案1】:

    无需在新场景中编写相同的代码。您实际上可以使用第一个场景中的所有声明。在以下代码中,场景 1 中的 sn-p MOUSE_MOVE 处理程序 (fl_CustomMouseCursor) 也将在场景 2 中调用。自定义光标也可以通过其名称 crsTemple 访问。

    import flash.display.MovieClip;
    import flash.events.MouseEvent;
    
    var crsTemple:Sprite = new CrsTemple();
    crsTemple.mouseEnabled = false;
    addChild(crsTemple);
    
    // for smooth cursor movement MOUSE_MOVE instead of ENTER_FRAME
    stage.addEventListener(MouseEvent.MOUSE_MOVE, fl_CustomMouseCursor); 
    stage.addEventListener(MouseEvent.CLICK, nextStage); // for test purpose, just to switch the stage
    
    function fl_CustomMouseCursor(event:Event):void
    {
    crsTemple.x = stage.mouseX;
    crsTemple.y = stage.mouseY;
    trace(crsTemple.x);
    }
    
    function nextStage(e:Event):void {
        gotoAndStop(1,"Scene 2");
    }
    
    Mouse.hide();
    stop();
    

    这是一个link to fla 示例

    【讨论】:

    • 这回答了我的问题并使其完美运行!非常感谢@DigitalD 的帮助,我真的很感激!你让我的项目免于迟到!
    猜你喜欢
    • 2013-06-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-02-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-11-25
    相关资源
    最近更新 更多