Форум 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+=0.15 не инкременируется (http://www.flasher.ru/forum/showthread.php?t=77615)

mushi_mushi 28.03.2006 23:23

._alpha+=0.15 не инкременируется
 
При увеличении ._alpha на малые значения, оно не увеличивается. на бОльшие - увеличивается.
Почему так?
И еще такой вопрос... почему если значение ._alpha изначально кратно 1, то при увеличении на 0.5 (или иное число) ._alpha не изменяется?

Код:

on (rollOver) {
        var intervalId:Number;
        var duration:Number = 5;
        this._alpha=20;
       
        function fadeAlpha():Void {
        //this._alpha++; - увеличивается на ~1
        //this._alpha+=0.5; - увеличивается на ~0.5
        this._alpha+=0.15; // - не увеличивается вообще
        trace ("fadeOut: " + this._alpha + "; iID: " + intervalId);
        if(this._alpha >= 100) {
                clearInterval(intervalId);
        }         
        }       
        intervalId = setInterval(this, "fadeAlpha", duration);
}

суть - сделать fadeIn\fadeOut картинки. В приципе сделал, но вопрос с ._alpha все же волнует, т.к. изменение на меньшее значение дает более плавный фейдинг.

Надеюсь на ответ или линк по теме. Спасибо ;)

Использую: Macromdeia Flash 8 Pro на PC

Fl00r 28.03.2006 23:52

Известная трабла.
С _alpha так всегда было... и видимо будет.
Код:

on (rollOver) {
        var intervalId:Number;
        var duration:Number = 5;
        alpha = this._alpha=20;
       
        function fadeAlpha():Void {
        //this._alpha++; - увеличивается на ~1
        //this._alpha+=0.5; - увеличивается на ~0.5
        alpha+=0.15; // - не увеличивается вообще
this._alpha = alpha;
        trace ("fadeOut: " + this._alpha + "; iID: " + intervalId);
        if(this._alpha >= 100) {
                clearInterval(intervalId);
        }         
        }       
        intervalId = setInterval(this, "fadeAlpha", duration);
}


silin 28.03.2006 23:59

реально альфа имеет 256 градаций (зачем надо было привязывать к 100 не оч. ясно), поэтому инкремент меньше 100/256 незначим, ну и остальные 'странности' тож отсюда..

Fl00r 29.03.2006 00:00

Цитата:

Сообщение от silin
реально альфа имеет 256 градаций (зачем надо было привязывать к 100 не оч. ясно), поэтому инкремент меньше 100/256 незначим, ну и остальные 'странности' тож отсюда..

ага... точно

mushi_mushi 29.03.2006 00:01

Жжжаль...
Спасибо за информацию.

Fl00r 29.03.2006 00:13

тебе 100/256 мало? =).


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

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