![]() |
|
||||||||||
|
|||||
|
Регистрация: Dec 2002
Адрес: Сочи
Сообщений: 2,819
|
Вот такой скриптик
_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 сек ремовятся все дубликаты. Однако с каждым разом дубликаты появляются всё менее шустро/т.е. плэер подтормаживает всё больше/ Чего бы это значило? |
|
|||||
|
don't panic!
Регистрация: Aug 2001
Сообщений: 4,121
|
напутал с индексами :)
и к тому же ты всегда перебираешь все пройденные индексы... если на сцене не осталось точек - ты все равно гонишь цикл по всем бывшим точкам лучше так: _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;
};
|
|
|||||
|
Регистрация: Dec 2002
Адрес: Сочи
Сообщений: 2,819
|
да здравствует мыло душистое и веревка пушистая !
![]() |
![]() |
Часовой пояс GMT +4, время: 03:02. |
|
|
« Предыдущая тема | Следующая тема » |
|
|