![]() |
|
||||||||||
|
|||||||
|
|
« Предыдущая тема | Следующая тема » |
| Опции темы | Опции просмотра |
|
![]() |
|
|||||
|
Регистрация: Oct 2004
Сообщений: 30
|
использовал
loadMovieNum("555.swf",111); а потом duplicateMovieClip("_root.verh","",211); для того что надо наверх и не работает, в чем дело? А LoadMovie у меня грузит как надо, но не проигрывает клип ни в какую! |
|
|||||
|
Banned
Регистрация: Sep 2001
Сообщений: 6,162
|
Ну так если ты в 111 левел грузиш
|
|
|||||
|
Регистрация: Oct 2004
Сообщений: 30
|
ну и что? потом дублирую мувик в 211, он по идее должен быть выше чем 111
|
|
|||||
|
Banned
Регистрация: Sep 2001
Сообщений: 6,162
|
Дублируешь? при этом нужно знать что ты дублируешь .... как будет называться дубликат.... и где ему лежать. а у тебя что?
|
|
|||||
|
Регистрация: Oct 2004
Сообщений: 30
|
глянь исходники
|
|
|||||
|
Регистрация: Oct 2004
Адрес: Санкт-Петербург
Сообщений: 17
|
Простите за косноязычие и возможно, я где-то не прав.
Хочу разъяснить некоторые базовые понятия, в которых, к сожалению, очень многие путаются. На счет level (уровень) Существует понятие level (уровень - _level[i]), это вещь совершенно глобальная, существующая в пределах всего фильма. Вся графика, разрабатываемая в авторской среде ("руками"), помещается в _level0 - он же _root. Есть немалая разница в применении методов mc.loadMovie() и loadMovieNum() [mc.loadMovie() описана в обзаце про depth]. levelMovieNum() - это глобальная функция, вызываемая откуда угодно, требующая второго параметра (значения уровня) и загружающая swf на указанный уровень. В следствие чего, к содержимому загруженной swf можно обратиться глобально, а именно, если номер уровня равен 1, то, например, _level1._x=100. Если попытаться загрузить ее на уровень 0, то она заместит собой _root(_level0). И еще - объекты, находящиеся на уровнях выше всегда будут перекрывать объекти уровнями ниже. На счет depth (глубина) mc.loadMovie() - не требуется указания ни чего, кроме ссылки на ресурс, а загружаемый swf полностью заменяет временную шкалу "mc" своей. Так же, если вподгружаемом swf есть некоторый код, которому необходимо обмениваться данными с корневой линейкой главного фильма, то необходимо обязательно применять адресацию _level0 вместо _root. Depth в литературе тоже часто называют уровнем и это тоже верно, но лучше сказать глубина, хотя разница невелика. Так как это понятие существует в пределах ограниченного пространства имен, то каждый клип может иметь свою нумерацию depth, причем указанную натуральными числами, начиная с единицы. Это значение используется такими методами как: duplicateMovieClip(), attachMovie(), createEmptyMovieClip(). Эти методы вызываются из объектов, что обязательно, и величине depth, указываемая в качестве одного из параметров, начинает свое существование в пространстве имен объекта из которого вызван тот или иной метод. Есть замечательная возможность по изменению depth - это метод swapDepths(), где нужно указать значение или ссылку на объект с которым необходимо поменяться глубиной. Об ограниченности пространства depth, говорит еще то, что для удаления объекта, созданного например attach-ем, необходимо вызвать методы unloadMovie() или removeMovieClip() непосредственно из этого объекта, без указания явным или косвенным образов на его глубину. В то же время, адресация к клипу и его удаление с определенного уровня требует указания этого уровня, в силу того, что это значение встраивается в путь к этому объекту. Например значение 11 - адресация _level11. И напоследок: Все объекты создаваемые "руками" имеют отрицательные значения depth (глубины). Также, можно создавать объекты с отрицательными значениями глубины, но такие объекты не поддаются удалению removeMovieClip(). А также не удаляются объекты с depth больше 1 млн. PS. Прошу прощения за многословие. Все изложенное выше касается исключительно Flash MX. |
![]() |
Часовой пояс GMT +4, время: 17:05. |
|
|
« Предыдущая тема | Следующая тема » |
|
|