自定义鼠标光标被删除后删除重复符号



首先,我是AS3的总菜鸟,一般而言,我几乎没有在代码片段之外操作。

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

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,并且在文件运行的剩余时间都留在那里。

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

无需在新场景中编写相同的代码。实际上,您可以使用所有声明形式的第一个场景。在以下代码shiptsshipt home_move处理程序(fl_custommousecursor)中,场景1也将在场景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();

这是FLA样本的链接

最新更新