![]() |
|
||||||||||
|
|||||||
|
|
« Предыдущая тема | Следующая тема » |
| Опции темы | Опции просмотра |
|
![]() |
![]() |
|
|||||
|
Регистрация: Dec 2008
Сообщений: 3
|
Доброй ночи
![]() Я пытаюсь сделать что-то вроде меню - карусель. В него подгружаются иконки из XML файла, которые должны летать по орбите вокруг центральной.. колонны)). Они реагируют на курсор и вращаются обратно пропорционально его отдалению от центра. Фактически нужно чтобы передние иконки проходили перед ней, а задние за ней. Для этого явно удобнее всего использовать маску. Вот код который генерит иконки и применяет к ним все функции.
xml.onLoad = function()
{
var nodes = this.firstChild.childNodes;
numOfItems = nodes.length;
for(var i=0;i<numOfItems;i++)
{
var t = home.attachMovie("item","item"+i,i+1);
t.angle = i * ((Math.PI*2)/numOfItems);
t.onEnterFrame = mover;
t.toolText = nodes[i].attributes.tooltip;
t.content = nodes[i].attributes.content;
t.imagp = nodes[i].attributes.img;
t.icon.inner.loadMovie(nodes[i].attributes.image)
t.r.inner.loadMovie(nodes[i].attributes.image);
t.icon.onRollOver = t.setMask(swapper),over;
t.icon.onRollOut = out;
t.icon.onRelease = released;
//t.setMask(swapper);
}
}
Подскажите пожалуйста, как изменить код чтобы маска применялась для всех созданных иконок. И возможно как бонус, подскажите как соединить функции такого кода с кнопкой поставленной на сцене, чтобы не прерывался цикл вращения. при моих попытках он останавливается. в коде сверху это функция "mover". За ранее спасибо ![]() |
|
|||||
|
ветеран форума
|
Один клип не может служить маской для >1 клипа одновременно. Чтобы применить к нескольким объектам один клип-маску, надо все эти объекты сложить в один контейнер, и применить маску к контейнеру
__________________
4am is time to rock |
|
|||||
|
Регистрация: Dec 2008
Сообщений: 3
|
Как можно применить контейнер тут?, чтобы не наружить работу. Я могу выложить полный код.
Парралельно сейчас буду сам разбираться с контейнерами, спасибо за этот совет.. |
|
|||||
|
Я бы использовал свойство movieClip.swapDepth(число)
число - номер слоя на который Вы хотите запихнуть мувик чем выше мувик на экране - тем меньше номер слоя для него ЗЫ КАК можно было придумать тут маску? =)) UPD Вообще в подобного рода имитации 3D удобнее всего использовать массивы и методы их сортировки Т.е. : 1)сложили _у всех клипов в массив 2)сложили их имена в том же порядке в другой массив 3)сортируем массив с _у клипов нужным образом 4)используем Array.RETURNINDEXEDARRAY и получаем массив с номерами клипов согласно их _у 5)по полученным номерам выдаем через swapDepth() слой каждой превьюхе этот способ быстрее всего работает при значительном числе объектов
__________________
...вселенская грусть Последний раз редактировалось gloomyBrain; 11.12.2008 в 15:03. Причина: просто совет |
|
|||||
|
Регистрация: Dec 2008
Сообщений: 3
|
Маску пришлось использовать от того, что при .swapDepth весь ряд иконок начинал мигать. 1\5 он на нужном слое, остальное время сверху над всем. Это еще веселее чем пытаться натянуть на них маску.
Если бы кто подсказал как применить контейнер, сразу бы все решилось П.С. Проблема заключается еще в том что несмотря на то что пришлось копаться в таких кодах, я не флеш программист и готовлю свой сайт.. и это уже затянулось от того что со всем пришлось разбираться чуть ли не с нуля, оттого и обратился в суппорт. На зарубежных ресурсах никто даже н ответил в тему, спасибо) Последний раз редактировалось Ragamuffin; 11.12.2008 в 23:49. |
![]() |
![]() |
Часовой пояс GMT +4, время: 11:37. |
|
|
« Предыдущая тема | Следующая тема » |
|
|