Просмотр полной версии : Медленное исчезновение Увеличительного стекла
bondnaruto
01.02.2011, 19:07
Сделал баннер, в нем карта (местности) с анимированными стрелочками, сам баннер маленький , а карта большая. Я для удоства сделал увеличительное стекло вот этим способом http://fbunker.com.ua/lesson/actionss/uvilichenie.htm. Что бы мелкие элементы можно было рассмотреть.
Все отлично получилось, но хочется сделать еще следующее. Когда курсор мыши уходит с баннера, то лупа медленно исчезает, и наоборот, когда наводим курсор на баннер лупа медленно появляется.
Не подскажет кто, как это лучше сделать? Или ссылку на урок какой нибудь дайте, спасибо!
Расположить кнопку верхним слоем и ловить события onRollOver и onRollOut.
bondnaruto
01.02.2011, 22:55
Вот нашел такой код:
on (rollOver) {
_root.obruch._alpha = 100;
}
on(rollOut){
_root.obruch._alpha = 0;
}
Код работает, но нет плавности затухания, Объект имеет alpha или 100% или 0%.
Так же нашел другой код - где можно сделать плавность затухания. Делается аниция затухания и на кнопку вешается код с помошью которого анимация скачет по кадрам:
stop();
btn.onRollOver = function () {
gotoAndPlay(2);
}
btn.onRollOut = function () {
gotoAndPlay(1);
}
Если сделать чистую сцену, то тоже все "ок" работает, а если пробую в своей с картой, то нифига код не работает. Получается что лупа вообще не появляется.
Пишите код в кадрах, об этом говорилось уже сотни раз, это избавит вас от кучи явных и неявных проблем.
Пропишите кнопке instance name "btn" (без кавычек, конечно) и пропишите следующий код в кадре:
obruch._alpha = 0;
btn.onRollOver = function() {
fadeIn();
};
btn.onRollOut = function() {
fadeOut();
};
function fadeIn() {
obruch.onEnterFrame = function() {
if (this._alpha<100) {
this._alpha += 5;
} else {
delete this.onEnterFrame;
}
};
}
function fadeOut() {
obruch.onEnterFrame = function() {
if (this._alpha>0) {
this._alpha -= 5;
} else {
delete this.onEnterFrame;
}
};
}
bondnaruto
02.02.2011, 00:01
Все прекрасно работает! Спасибо!
Пишите код в кадрах, об этом говорилось уже сотни раз, это избавит вас от кучи явных и неявных проблем.
Учту в будущем!
Добавлено через 15 часов 18 минут
Еще такой вопрос возник.
Для одного объекта код работает, а если необходимо сделать плавное затухание для нескольких объектов, то как должен выглядеть код? Я попробовал сделать дубль этого кода (ниже этого кода прямо) с заменой имени объекта, но одновременно для двух объектов код почему-то не заработал...
Работает на vBulletin ® версия 3.7.3. Copyright ©2000-2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Copyright © 1999-2008 Flasher.ru. All rights reserved.