Форум 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)
-   -   Странное выполнение IF (http://www.flasher.ru/forum/showthread.php?t=75406)

Fl00r 11.02.2006 18:42

Странное выполнение IF
 
Код:

_root.onEnterFrame = function(){
        if (colorTransforming("ra", 60) == "stop" && colorTransforming("ga", 60) == "stop" && colorTransforming("ba", 100) == "stop"){
                delete this.onEnterFrame;
        }
}

Почему то выполняется сначала первое условие, до тех пор пока не то не вернет "stop", потом аналогично второе, и третее...

функцию вызываю вот эту:
Код:

colorTransforming = function(what, point){
        var transform:Number = new Number;
        transform = (bgColor[what] - point)/20;
        bgColor[what] -=transform;
        trace (bgColor[what]);
        var my_color:Color = new Color(back_mc);
        my_color.setTransform(bgColor);
        if(transform<=0.1){
                flag = "stop";
                return flag;
        }
}


Double 11.02.2006 19:13

потому что это логика :) если первое условие не выполняется, к чему проверять остальные? (как следствие, не инициируются трансформы по остальным цветам)

Fl00r 11.02.2006 19:23

Верно.
Прийдется так
Код:

_root.onEnterFrame = function(){
        ra = colorTransforming("ra", 60);
        ga = colorTransforming("ga", 60);
        ba = colorTransforming("ba", 100);
        if (ra == "stop" && ga == "stop" && ba == "stop"){
                delete this.onEnterFrame;
        }
}

что более гемморойно... жаль


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

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