2016-01-07 2 views
0

У меня есть datagrid, где строки добавляются. Всякий раз, когда добавляется ряд, на сцену добавляется фрагмент ролика. Я добавил кнопку, чтобы удалить строку в datagrid, если щелкнуть строку и кнопку, и все это работает отлично.Как удалить MovieClip, выбрав строку и нажав кнопку удаления?

Однако, когда я пытаюсь удалить фрагмент ролика, относящийся к этой строке в datagrid, он не работает.

Мой код:

function removeloaditem(event:MouseEvent) { 
datagrid.removeItemAt(datagrid.selectedIndex); 
removeChild(MovieClip(datagrid.selectedIndex); 
} 

ответ

0
removeChild(MovieClip(datagrid.selectedIndex); 

Вы должны понимать, что эта строка кода пытается сделать.

datagrid.selectedIndex 

Эта переменная является просто номером. Итак, вы пытаетесь передать число в MovieClip.

MovieClip(1) 

Это не работает. Вам нужна ссылка на Объект MovieClip. Везде, где вы создаете свой объект MovieClip, вам нужно будет сохранить ссылку на этот объект. У вас может быть простой объект хранения всех ваших ссылок.

var objectList:Object = {}; 

, а затем, где бы вы создаете мувиклип, добавьте следующую строку:

objectList["reference_" + datagrid.selectedIndex] = "movieclip variable"; 

Replace "MovieClip переменную" со ссылкой на ваш объект MovieClip. После этого замените текущую строку removeChild на эти две строки:

var movieclip = objectList["reference_" + datagrid.selectedIndex] 
moveclip.parent.removeChild(movieclip); 
+0

О, я понимаю, что вы имеете в виду под переменной, являющейся просто числом. Но я не понимаю часть о замене «movieclip variable» ссылкой. Означает ли это, что и «reference_», и «movieclip variable» - это один и тот же термин? И ссылается ли на имя рода для этого мувиклипа? – Sherlyn

+0

Вы создаете новый мувиклип для добавления на сцену, не так ли? Ты должен быть. Подобно "var movieclip = new MovieClip();" «ссылка movieclip» - это просто текст заполнителя, в котором должно идти ваше имя переменной экземпляра movieclip. Итак, если вы делаете «var someMovieClip = new MovieClip()», то вы замените «ссылку на movieclip» на «someMovieClip» ... получите? – inverse

+0

Да, я понял! Он отлично работает, когда я пробую его на 1 мувиклип. Однако, что, если бы у меня было несколько мувиклипов одного и того же изображения? Когда я его пробовал, он удаляет все мувиклипы, что имеет смысл, учитывая, что все они имеют одинаковое имя. Я попытался сделать имена разными, добавив увеличивающиеся числа в конец имени экземпляра мувиклипа, но он, похоже, не работает. – Sherlyn

Смежные вопросы