![]() |
|
||||||||||
|
|
|
|||||
|
Guest
Сообщений: n/a
|
Задача в следующем:
На сцене есть клип В него загружается компонент Все нормально. Но когда клип нужно удалить Исчезает он только визуально trace(_root.clip) – выводит адрес клипа. В Хэлпе (ActionScript classes > MovieClip > removeMovieClip (MovieClip.removeMovieClip method) ) примечание: Note: If you are using version 2 components, do not use this method. If you place a version 2 component either on the Stage or in the Library, the getNextHighestDepth() method can sometimes return depth 1048676, which is outside the valid range. If you are using version 2 components, you should always use the version 2 components DepthManager class. Если я правильно перевел, то это значит, что при вставке Компонента, не следует пользоваться функцией getNextHighestDepth(), т.к. она может назначить глубину, выходящую за допустимые пределы, и removeMovieClip() работать не будет. Но ведь я назначаю глубину обычным присвоением, и все равно не работает. Там же, был предложен еще один вариант удаления: If you must use getNextHighestDepth() with version 2 components, you can use swapDepths() to assign a valid depth value or use MovieClip.unloadMovie() to remove the contents of the movie clip. Alternatively, you can use the DepthManager class to assign depth values within the valid range. Но unloadMovie() тоже не помогает. Подскажите, пожалуйста, как правильно удалить Компонент (или клип с этим компонентом). PS. Вставка такого же клипа, на такую же глубину тоже не помогает. |
|
|||||
|
попробуйте трейс глубины компонента, точно 2100 у него?
|
|
|||||
|
Guest
Сообщений: n/a
|
Конечно, вот код:
_root.attachMovie("clip","clip",1000); add_btn.onPress = function(){//добавить ComboBox _root.clip.attachMovie("ComboBox","com1",2100); trace("Depth ComboBox > "+_root.clip.com1.getDepth());//Depth ComboBox > 2100 } del_btn.onPress = function(){//удалить клип trace("_root.clip.getDepth() > "+_root.clip.getDepth());//_root.clip.getDepth() > 1000 trace("_root.clip.com1.getDepth() > "+_root.clip.com1.getDepth());//_root.clip.com1.getDepth() > 2100 _root.clip.removeMovieClip(); trace("AFTER del, ComboBox > "+_root.clip.com1);//AFTER del, ComboBox > _level0.clip.com1 trace("AFTER del, clip > "+_root.clip);//AFTER del, clip > _level0.clip } |
|
|||||
|
и все таки удаление происходит, только не мгновенно, если еще раз нажать на кнопку del_btn, то значения уже undefined
|
|
|||||
|
Guest
Сообщений: n/a
|
Действительно! Juice_Green - орлиный глаз!
Но сразу еще вопрос: а как подловить момент, когда это удаление происходит? Пробовал проследить так: clip.onUnload = function(){ trace("onUnload");//onUnload trace("onUnload, clip > "+_root.clip);//onUnload, clip > _level0.clip добавлено.. кстати прикол Последний раз редактировалось Xero201; 27.07.2009 в 15:28. Причина: узнал дополнительную инфу по данному вопросу |
![]() |
![]() |
Часовой пояс GMT +4, время: 09:41. |
|
|
« Предыдущая тема | Следующая тема » |
|
|