Форум 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)
-   -   Тормоза при использовании setInterval (http://www.flasher.ru/forum/showthread.php?t=74310)

inspace 17.01.2006 04:05

Тормоза при использовании setInterval
 
Вот такой вот код написал:
вращается градиент в центре круга. Так тормоза дикие начинаются через какое-то время. clearInterval использовать? но как в этой ситуации?

[ вырезано нахрен, пользуемся тэгом code или не выкладываем листинги вообще ]

Подскажите люди добрые :)

MIX-er 17.01.2006 11:51

Хороший код))

inspace 17.01.2006 12:14

Код:

this.createEmptyMovieClip("out",5);
drawCircule = function(x,y,r,alpha) {
       
       
               
                with(_root.out) {
                lineStyle(13,0x000000,100);
                  colors = [0xFFffff, 0x000000,0xffffff];
                  alphas = [100, 100,100];
                  ratios = [0, 0x7F, 0xFF];
                  matrix = {matrixType: "box", x:-25, y:-25, w:70, h:70, r: (alpha/180)*Math.PI};
                  beginGradientFill("linear", colors, alphas, ratios, matrix);
                moveTo(x+r,y);
                var angleDelta = (45*Math.PI/180);
                var regDist = r/Math.cos(angleDelta/2);               
                var angle=0;
                for(var i=0;i<8;i++) {
                angle +=angleDelta;
                var rx = x+Math.cos(angle - (angleDelta/2))*(regDist);
                var ry = y+Math.sin(angle - (angleDelta/2))*(regDist);       
                var ex = x+Math.cos(angle)*r;       
                var ey = y+Math.sin(angle)*r;               
                curveTo(rx,ry,ex,ey);
}
endFill();
        }

}
var k=0;
                       
                        var Interval = setInterval(function() {
                                                drawCircule(10,10,60,k);
                                                k +=10;
                                                updateAfterEvent();
                                                                                                },100);


MIX-er 17.01.2006 12:38

попробуй создать мувик с градиентом сделать из него бит мап и его вращать хотя если у тя будет много мувиков таких не стал бы я использовать интервал ...

silin 17.01.2006 12:47

Код:

drawCircule = function (x, y, r, alpha) {
        with (_root.out) {
                clear();
                .....

а иначе ты плодишь и плодишь новые вектора, ну и тормоза..

inspace 17.01.2006 14:32

2 silin Блин =)) Огромное спасибо!


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

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