Форум 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)
-   -   Изменение Alpha по наведению курсора мыши (http://www.flasher.ru/forum/showthread.php?t=214038)

Кот Баюн 31.03.2017 19:31

Изменение Alpha по наведению курсора мыши
 
Всем привет!
Вопрос простой, а вот навыки быстро из головы вылетают.
Ситуация простая - есть мувик mc и кнопка btn.
По наведению курсора на кнопку - клип проявляется по alpha. По отведению, затухает.
Вроде все просто.
Со скриптом alpha разобрался, а как прикрутить это на кнопку - забыл.

То есть по альфе у меня так

Код AS1/AS2:

stop();
 
import mx.transitions.Tween;
import mx.transitions.easing.*;
 
function fadeout() {
        mc.onEnterFrame = function() {
var FadeOutTween = new mx.transitions.Tween(your_mc, "_alpha", mx.transitions.easing.Regular.easeIn, your_mc._alpha, 0, 0.5, true);
};
}
 
function fadein() {
        mc.onEnterFrame = function() {
var FadeInTween = new mx.transitions.Tween(your_mc, "_alpha", mx.transitions.easing.Regular.easeIn, your_mc._alpha, 100, 0.5, true);
};

теперь надо прописать события на кнопку

Код AS1/AS2:

        this.btn.onRollOver = function() {
 
        };
 
this.btn.onRollOut = function() {
        };

а как дальше, не врубаюсь....
функции объявил, как их теперь вызвать?

dark256 01.04.2017 11:16

Код AS1/AS2:

this.btn.onRollOver = function() {
    fadeout()
        };
 
this.btn.onRollOut = function() {
    fadein()
        };

Самое очевидное не получилось?
Если проблема с видимостью, тогда перед именем функции следует прописать _root. или level0.

Кот Баюн 01.04.2017 15:41

так я и написал именно так сначала, но не работает......

оказалось, еще помню, как надо их вызывать))))

однако не заработало.....

*******************


разобрался в чем дело.
часть, написанная под функцией (после слова var), не работает....
то есть функция у меня выполнялась и раньше по прямому вызову, но не работал этот чертов Tween.

поменял на более простой вариант, теперь работает.

исключил твины, сделал просто условие на 100 или 0.


Код AS1/AS2:

stop();
mc._alpha=0;
 
function fadeout() {
        mc.onEnterFrame = function() {
                if (mc._alpha>0) {
                        mc._alpha -= 5;
                } else {
                        delete mc.onEnterFrame;
                }
        };
}
 
function fadein() {
        mc.onEnterFrame = function() {
                if (mc._alpha<100) {
                        mc._alpha += 5;
                } else {
                        delete mc.onEnterFrame;
                }
        };
}
 
this.btn.onRollOver = function() {
        fadein()
        };
 
this.btn.onRollOut = function() {
        fadeout()
        };

спасибо. )))


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

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