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

Samodelkin 16.08.2005 20:05

удалить интервал
 
Вложений: 1
Вообщем вот этот интервал. В онмаусдаун, еще он не определяет 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;
}
};

silin 16.08.2005 20:13

не понял (да и желания нет разбираться при такой постановке вопроса), что там у тебя происходит, но возможно трабл в том, что var brr, объявленная в onMouseDown, не видна в onMouseUp

Samodelkin 16.08.2005 21:24

Цитата:

Сообщение от silin
не понял (да и желания нет разбираться при такой постановке вопроса), что там у тебя происходит, но возможно трабл в том, что var brr, объявленная в onMouseDown, не видна в onMouseUp

В том-то и дело что не могу его увидеть пробовал и _root и _global, ошибка походу какета глобальная не могу понять где...

silin 16.08.2005 21:32

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

Samodelkin 16.08.2005 21:38

так исходник же выложил требуется протестировать как отрисовывать связи у графа, при большом колчистве элементов, отрисовывать все линии постоянно не реально, тормозить будет уже пробывал, вот и повесил сет интервал на маус даун пока пользователь двигает мышкой он работает интервал и отрисовывает связи, если ап, то интревал удалять. вот и все

silin 16.08.2005 22:15

предположение: по 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);
        }
       
};

зы: по onMouseUp нада, наверное, _root.objects=[]

Samodelkin 16.08.2005 23:44

все логично спасибо большое. иногда прсто необходим свежий взгляд, говорил же что-то глобальное:)


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

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