PDA

Просмотр полной версии : Проявление менюшки на фоне кнопки или другого мувика


Zulus
03.09.2003, 15:28
Может кто уже решал вот такую задачу...
Нужно построить меню вот такой структуры:
При наведении мышом на флэшку ( на любой ее участок а не на какую-то отведенную активную зону) внутри ее проявляется меню со своими подпунктами, именно проявляется, то есть плавно меняет прозрачность от какого-то среднего значения до 100. Задача казалось бы простая, но через rollover решить не получается потому как при подведении мыша к проявившейся менюшке, последняя перекрывает собой нижележащую, которая отвечает за проявление.... Через hitArea нормально решить это тоже не получается, потому как при резком движении мыша с флэшки эта функция иногда не успевает среагировать, чтбы это устранить, надо задирать фпс, что неприемлимо из-за увеличения нагрузки на проц, тоже самое и с определением координат курсора, - все это я уже перепробовал. Скорее всего надо это решать через rollOver, но никак не соображу как выстроить иерархию мувиков чтобы они нормально реагировали на наведение мыши, когда один находится на фоне другого.

Поможите люди добрые... :-)

Dimonius
03.09.2003, 15:44
Почему же только роллОвер, еще можно события от мышки ловить.

onMouseMove = function () {
//тута проверяем координаты и если это нужные
//то запускаем менюху.
... };

Zulus
03.09.2003, 16:56
я же говорю, не катит проверка координат...
Если флэшка стоит на веб-странице а мувик занимает всю площадь флэшки то если юзер быстро дернет мышом и уведет курсор с флэшки, последняя зафиксированная координата курсора не будет соответствовать краю и мувик будет думать что курсор еще висит над ним...

Можно конечно повесить надпись "Двигать плавно" :-)

Luke
03.09.2003, 17:17
_root.menu._alpha = 0;
var interval = 1;
set_alpha = function()
{
if (_root.menu._alpha < 100) {
_root.menu._alpha++;
}
}
MovieClip.onRollOver = function()
{
setInterval(set_alpha, interval);
}
Надеюсь дальше догадаешься, как доделать. :)

Zulus
03.09.2003, 18:16
Спасибо :-) но ты не понял проблемы :-) сделать плавное появление это фигня... а вот как заставить работать по rollOver один мувик над другим... чтобы верхний не перекрывал нижний
почитай внимательно начало темы :-)

Dimonius
03.09.2003, 21:52
в общем, если скорость компа оставляет желать лучшего, то тут и обычные флеш кнопки не будут нормально работать.

Серьезно говорю. есть некоторые, умудряются такие кнопки вытворить, что например на 400-том глючат пополной программе.

sergwizard
04.09.2003, 01:32
Попробуй-ка вот этот вариант. Кажется, скорость можно побороть. Ну, - если надо - оптимизируй код.

Zulus
04.09.2003, 04:12
Sergwizard, спасибо за файлик :)
Еще не разбирался, но работает действительно так как надо. Я во флэше новичок... как раз теперь есть повод все таки разобраться с прототипами :)