Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript (http://www.flasher.ru/forum/forumdisplay.php?f=5)
-   -   Что не так? Тормоза. (http://www.flasher.ru/forum/showthread.php?t=52849)

Штрек 18.12.2003 21:56

Что не так? Тормоза.
 
Вот такой скриптик

_root.createEmptyMovieClip("tochka", 999);
with (_root.tochka) {
lineStyle(30, 0xff0000, 100);
lineTo(1, 1);
_x = -5;
}
var i = 0;
_root.onMouseDown = function() {
_root.onMouseMove = function() {
i += 1;
_root.tochka.duplicateMovieClip("tochka"+i, 999+i);
_root["tochka"+i]._x = _root._xmouse;
_root["tochka"+i]._y = _root._ymouse;
j = i;
};
};
_root.onEnterFrame = function() {
for (i=1; i<j+1; i++) {
_root["tochka"+i]._alpha -= 3;
if (_root["tochka"+i]._alpha<=0) {
_root["tochka"+i].removeMovieClip();
}
}
};
_root.onMouseUp = function() {
delete _root.onMouseMove;
};

Вроде через 2-3 сек ремовятся все дубликаты.
Однако с каждым разом дубликаты появляются всё
менее шустро/т.е. плэер подтормаживает всё больше/
Чего бы это значило?

Nox Noctis 18.12.2003 22:48

напутал с индексами :)
и к тому же ты всегда перебираешь все пройденные индексы...
если на сцене не осталось точек - ты все равно гонишь цикл по всем бывшим точкам

лучше так:
Код:

_root.createEmptyMovieClip("tochka", 999);
tochka.lineStyle(30, 0xff0000, 100);
tochka.lineTo(.15, 0);
tochka._visible = 0
//
heap = [];
count = 0;
//
_root.onMouseDown = function() {
        _root.onMouseMove = function() {
                var name = "tochka"+(++count);
                tochka.duplicateMovieClip(name, 999+count);
                _root[name]._x = _root._xmouse;
                _root[name]._y = _root._ymouse;
                heap.push(_root[name]);
        };
        _root.onEnterFrame = function() {
                for (var i in heap) {
                        heap[i]._alpha -= 3;
                        if (heap[i]._alpha<=0) {
                                removeMovieClip(heap[i]);
                                heap.splice(i, 1);
                        }
                }
        };
};
_root.onMouseUp = function() {
        delete _root.onMouseMove;
};


Штрек 19.12.2003 00:05

да здравствует мыло душистое и веревка пушистая ! :p


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

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