![]() |
|
||||||||||
|
|||||
|
Вообщем вот этот интервал. В онмаусдаун, еще он не определяет this.id в самом интервале но это решаемо через рут, а видимость интревала в онмаусап нет?
this.onMouseDown = function() { if (this.hitTest(_root._xmouse, _root._ymouse)) { this.startDrag(); _root.tempID = this.id var brr:Number= setInterval(function () { trace("ggg") _root.createEmptyMovieClip("line"+_root.tempID, -1100-_root.tempID); _root["line"+_root.tempID].lineStyle(1, 0x559ADF); _root["line"+_root.tempID].moveTo(_root["Obj"+_root.tempID]._x, _root["Obj"+_root.tempID]._y); var NumberTo = Number(_root["Obj"+_root.tempID].linkTo); _root["line"+_root.tempID].lineTo(_root["Obj"+NumberTo]._x, _root["Obj"+NumberTo]._y); if (_root.tempflag == true){ clearInterval(brr) delete brr; } }, 10); } }; this.onMouseUp = function() { if (this.hitTest(_root._xmouse, _root._ymouse)) { this.stopDrag(); _root.tempFlag = true; clearInterval(brr); delete brr; } }; Последний раз редактировалось Samodelkin; 16.08.2005 в 21:27. |
|
|||||
|
Цитата:
|
|
|||||
|
так исходник же выложил требуется протестировать как отрисовывать связи у графа, при большом колчистве элементов, отрисовывать все линии постоянно не реально, тормозить будет уже пробывал, вот и повесил сет интервал на маус даун пока пользователь двигает мышкой он работает интервал и отрисовывает связи, если ап, то интревал удалять. вот и все
|
|
|||||
|
предположение: по onMouseDown ты запускаешь сразу много интервалов (хиттест true для многих), а по onMouseUp очищаешь тока один (потому как ты его мувик увел из кучи), остальные работают..
вариант: определяем ( в руте, например) массив, в котором храним запущенные интервалы, по onMouseUp очищаем их: this.onMouseDown = function() {
if (this.hitTest(_root._xmouse, _root._ymouse)) {
_root.objects.push(this);//массив, объявленный в руте
this.startDrag();
_root.tempID = this.id
this.brr= setInterval(function () {
trace("ggg")
_root.createEmptyMovieClip("line"+_root.tempID, -1100-_root.tempID);
_root["line"+_root.tempID].lineStyle(1, 0x559ADF);
_root["line"+_root.tempID].moveTo(_root["Obj"+_root.tempID]._x, _root["Obj"+_root.tempID]._y);
var NumberTo = Number(_root["Obj"+_root.tempID].linkTo);
_root["line"+_root.tempID].lineTo(_root["Obj"+NumberTo]._x, _root["Obj"+NumberTo]._y);
if (_root.tempflag == true){
clearInterval(brr)
delete brr;
}
}, 10);
}
};
this.onMouseUp = function() {
stopDrag();
_root.tempFlag = true;
var list=_root.objects
for(var i in list){
clearInterval(list[i].brr);
}
};
Последний раз редактировалось silin; 16.08.2005 в 22:20. |
|
|||||
|
все логично спасибо большое. иногда прсто необходим свежий взгляд, говорил же что-то глобальное
![]() |
![]() |
![]() |
Часовой пояс GMT +4, время: 08:36. |
|
|
« Предыдущая тема | Следующая тема » |
|
|