2015-05-24 3 views
0

Я actioncript 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(); 

ответ

0

В AS3, элементы будут оставаться в списке отображения (на экране), пока явно не будут удалены (или их родителей удаляется).

Так держать курсор от пребывания на экране, вы должны удалить его:

removeChild(cursor); 

Ведение Mouse.show() не влияет на отображение объектов на экране.

Если вы присвоите новое значение var cursor, он не удалит автоматически предыдущий объект - поскольку переменные являются просто ссылками на объекты. Поэтому, если в ваших последующих кадрах вы создаете новый курсор, вы хотите удалить существующую до присвоения новой переменной:

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); 
Смежные вопросы