PDA

Просмотр полной версии : Тупка при rollOver


minimalistic
27.09.2008, 05:53
Сделал AS меню, поместил в мувик и разместил неколько этих мувиков на главной временной шкале дав им разные имена. Меню динамическое и содержит саморастягивающийся задник, который состоит из 3 мувиков (верхняя часть, срединяя растягивающаяся часть, нижняя часть). При наведении на любую из менюшек, задник у нее меняет цвет. Проблема в том, я не понимаю как правильно описать наведение на мувик чтоб кнопки находящиеся в нем так-же имели функции rollOver.

Пишу в мувике меню.

var back_array = new Array(backLine, backRondsTop, backRondsBot);
backObj = new Object();

this.onRollOver = function() {
for (var i = 0; i < back_array.length; i++) {
var backColor:Color = new Color(back_array[i]);
backColor.setRGB(0x999999);
}}
this.onRollOut = function() {
for (var i = 0; i < back_array.length; i++) {
var backColor:Color = new Color(back_array[i]);
backColor.setRGB(0xffffff);
}}

Если делать вот так то убиваются ролловеры кнопок меню, но скорость отличная.

Пробовал описывать через onEnterFrame, но тогда все начинает тупить, так как циклится. Может есть еще какой-нибудь способ?

minimalistic
27.09.2008, 06:11
Проблему решил вот так, но это кривой выход из положения. Трейсил - циклится.
var back_array = new Array(backLine, backRondsTop, backRondsBot);
backObj = new Object();

this.onEnterFrame = function() {
for (var i = 0; i < back_array.length; i++) {
if (_xmouse > 0 && _xmouse < 170) {
var backColor:Color = new Color(back_array[i]);
backColor.setRGB(0x999999);

} else {
var backColor:Color = new Color(back_array[i]);
backColor.setRGB(0xffffff);
}
}
}

Может можно как-то более изящно?

scarbo
27.09.2008, 09:12
Проблема уже тысячу раз обсуждалась,поиск к Вашим услугам.
И не очень понятно Пишу в мувике меню.Вы что,в мувиклипе пишете,объясните понятнее.

minimalistic
27.09.2008, 09:48
в мувике с менюшкой пишу этот код

т.е. грубо говоря если в мувиклипе несколько кнопок и како-то еще фоновый прямоугольник, как повесить событие rollOver на этот мув, чтоб при этом у кнопок события тоже функционировали.

Еще в голову идея пришла повесить onRollover с таким-же скриптом и на все кнопки, но это как-то совсем коряво.
Сначала пользовался поиском, потом задал вопрос. Заранее благодарен.

scarbo
27.09.2008, 10:11
Так значит под менюшку ставите невидимый мув,RollOver вешаете на него.При наведении смещаете менюшку и этот мув и кнопочки Ваши работают.А на RollOut невидимки делаете проверку,если _root._xmouse больше или меньше границ невидимки,то убираете его вместе с меню на своё прежнее место.
Главное чтоб не было конфликтов RollOver
* * * * * * * * * * * * * * * * * * * * * * * * * * * *
minimalistic вот так можно сделать(не понял про Ваш задник,цвет меняют сами кнопки).Весь код на главном тамлайне.

minimalistic
27.09.2008, 11:11
Я видимо сумбурно объяснил проблему. Сижу с ней уже часов 5, показалось что всем так-же понятно как мне. ))
вот упростил пример. Тут все работает как нужно но код не верный. Это явно как-то иначе пишется. без циклов.

scarbo
27.09.2008, 11:38
minimalistic я что уже запутался.Вам где цвета надо менять ,на кнопках или на полосочках?И что должно выдвигаться и растягиваться.
Сижу с ней уже часов 5Вы что тут с 5 утра сидите:quiet:

minimalistic
27.09.2008, 11:44
а я еще не ложился )))

цвет нужно менять на полосочках, кнопки я просто показал что при наведении тоже работают.
Т.е. при наведении на любую точку области мувика меняется цвет задника, а при наведении на кнопку еще и кнопки (последнее я понимаю ) :)

Решил свой сайт наконец доделать (пока время есть) не могу лечь спать пока не закончу ))))

iNils
27.09.2008, 17:45
Пользователь minimalistic получает предупреждение за название темы.

minimalistic
28.09.2008, 00:23
Проблему решил через "кнопка под кнопкой" содержащие на ролловерах и роллаутах одинаковые строки.
Но все еще требуется подсказка по наиправильнейшему решению.