Actionscript 3 如何在多个帧上隐藏鼠标?

Actionscript 3 如何在多个帧上隐藏鼠标?,actionscript-3,mouseevent,Actionscript 3,Mouseevent,我是动作脚本n00b,请原谅我的无知。 目前,我正在尝试制作我的第一人称射击游戏,并从Lynda(.com)那里学到了很多技巧,但我很难将鼠标变成十字光标,并且在创建这个游戏时,十字光标不会在后续帧中永久显示 所以我在一个动作层上有这个代码,但在其他层上,当我创建另一个关键帧来改变我在其他层上拍摄的内容时,我的光标会在屏幕上留下一个永久的图像。如果我想学好这门语言,我肯定需要更多地理解这门语言,但是现在我想做一些游戏来娱乐自己,有什么建议吗?感激 var cursor:MovieClip; f

我是动作脚本n00b,请原谅我的无知。 目前,我正在尝试制作我的第一人称射击游戏,并从Lynda(.com)那里学到了很多技巧,但我很难将鼠标变成十字光标,并且在创建这个游戏时,十字光标不会在后续帧中永久显示

所以我在一个动作层上有这个代码,但在其他层上,当我创建另一个关键帧来改变我在其他层上拍摄的内容时,我的光标会在屏幕上留下一个永久的图像。如果我想学好这门语言,我肯定需要更多地理解这门语言,但是现在我想做一些游戏来娱乐自己,有什么建议吗?感激

var cursor:MovieClip;

function initializeGame():void
{
cursor = new Cursor();
addChild(cursor);
cursor.enabled = false;
Mouse.hide();
stage.addEventListener(MouseEvent.MOUSE_MOVE, dragCursor);
}

function dragCursor(event:MouseEvent):void
{
cursor.x = this.mouseX;
cursor.y = this.mouseY;
}

initializeGame();

在AS3中,项目将保留在显示列表(屏幕上)上,直到显式删除(或其父项被删除)

因此,要防止光标停留在屏幕上,您需要将其删除:

removeChild(cursor);
执行
Mouse.show()
不会影响屏幕上的任何显示对象

如果为var
光标指定一个新值,它不会自动删除以前的对象,因为变量只是对对象的引用。因此,如果在后续帧中创建新光标,则在将新光标指定给变量之前,要删除现有光标:

if(cursor.parent)  removeChild(cursor); //if there is an object assigned to cursor, and it has a parent (which means it's on screen), then remove it before doing the below code
cursor = new Cursor();
addChild(cursor);