自定义鼠标光标删除重复的符号后,其中删除
问题描述:
首先,我是一个总的noob 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,并且在文件运行的其余时间保持在那里。
任何帮助非常感谢,非常感谢帮助像我这样的noob!
答
无需在新场景中编写相同的代码。您实际上可以使用第一个场景中的所有声明。在场景2中,以下代码片段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的帮助,我真的很感激!你救了我的项目迟到了! –