Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 1.0/2.0 (http://www.flasher.ru/forum/forumdisplay.php?f=93)
-   -   Плавное Появление/исчезание Flash (http://www.flasher.ru/forum/showthread.php?t=172349)

ONEpax 07.12.2011 17:48

Плавное Появление/исчезание Flash
 
Здравствуйте. Подскажите пожалуйста нубу как ПРАВИЛЬНО сделать плавное появление и затухание ролика при наведении и отведении курсора, при наведении помимо плавного появления ролика его запуск а при отведении мыши просто затухание анимации с дальнейшим проигрыванием. Ролик (.mov) - будущая кнопка перехода на др страницу. Похожие темы читал там используются кнопки а здесь ролик. Если можно поподробнее...Буду очень сильно благодарен.

dark256 08.12.2011 14:13

Что значит "затухание анимации"?
Прозрачность? Остановка? Еще что-то?

Вот кусок кода - при наведении прозрачность станет плавно уменьшаться.
Далее - по аналогии.

Код AS1/AS2:

ваша_анимация.onRollOver = function(){
      this.onEnterFrame = function(){
            this._alpha -= 5
            if ( this._alpha <=0 ) delete this.onEnterFrame;
      }
}


iNils 08.12.2011 14:16

Зачем там вложенная функция?

dark256 08.12.2011 14:21

Ну, предположим, что внутри роллОвера потребуется произвести еще какие-нибудь операции, кроме манипуляций с альфой.

Стоп! А как это написать без вложенной функции?
Имеется ввиду такая конструкция?

Код AS1/AS2:

function ALPHA()
{
      this.onEnterFrame = function()
          {
            this._alpha -= 5
            if ( this._alpha <=0 ) {
                                delete this.onEnterFrame;
                        }
      }
}
 
 
mc.onRollOver = ALPHA


iNils 08.12.2011 14:53

Код AS1/AS2:

function enterFrame () {
        this._alpha -= 5;
        if (this._alpha <= 0) {
                this._alpha = 50;
                delete this.onEnterFrame;
        }
}
function rollOver () {
        this.onEnterFrame = enterFrame;
}
 
mc.onRollOver = rollOver;


dark256 08.12.2011 15:09

Если автор еще навестит свой топик, будет любопытно услышать, чей конструктив ему показался более внятным :)

А в целом, раз зашел такой разговор, вопрос: какой смысл выносить enterFrame () из rollOver () ?

iNils 08.12.2011 15:48

Цитата:

Если автор еще навестит свой топик, будет любопытно услышать, чей конструктив ему показался более внятным :)
Автор еще только учится и не может объективно оценивать ответы.
Цитата:

А в целом, раз зашел такой разговор, вопрос: какой смысл выносить enterFrame () из rollOver () ?
Анонимные функции - порочная практика. Объектов с анимацией может быть множество, и на каждый объект ты создаешь свою копию обработчика события, вместо того, чтобы использовать одну копию. Это приводит к росту потребляемой памяти.

dark256 08.12.2011 16:09

А. Понятно. То есть полный отход от анонимок.
Спасибо! Ликбез, однако :)

ONEpax 08.12.2011 16:51

Вложений: 1
Вот проект. После отведения курсора должно происходить затухание...

dark256 08.12.2011 17:31

Если должнО - то вам в вакансии.
Если дОлжно - то изучите вышеприведенные примеры.
Писать за вас все целиком врядли кто станет. Подсказку - вам выдали.


Часовой пояс GMT +4, время: 18:01.

Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2024, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.