Форум 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=47593)

metton 04.08.2003 00:39

отлов нестандартных событий
 
Можно ли как-то узнать какой клип был нажат?

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

Офф: кстати, события такого вида onMouseMove действительно тормознее, чем такого - onClipEvent(mouseMove), или это я торможу?

Techmaker 04.08.2003 00:48

можно :)
1)
MovieClip.prototype.onMouseDown=function(){if(this.hitTest(_root._xmouse,_root._ymouse)){trace(this._name)}}
2)
this.onMouseDown=function(){for(mc in this){if(this[mc].hitTest(_root._xmouse,_root._ymouse)){trace(this[mc]._name)}}}

вроде ошибок недопустил когда писал.... должно работать ;) :)

Techmaker 04.08.2003 00:51

Цитата:

отлавливать вхождение мыши в пределы клипа с нажатой кнопкой?
немного непонял :)

dee2 04.08.2003 11:05

Цитата:

отлавливать вхождение мыши в пределы клипа с нажатой кнопкой
если я правильно понимаю - это dragOver

metton 04.08.2003 17:02

Цитата:

Офф: кстати, события такого вида onMouseMove действительно тормознее, чем такого - onClipEvent(mouseMove), или это я торможу?
а как насчёт этого?


2dee2 && Techmaker
Цитата:

Цитата:

отлавливать вхождение мыши в пределы клипа с нажатой кнопкой
если я правильно понимаю - это dragOver
Нет.
Я нажал кнопку мыши над одним клипом, не отпуская кнопки, перемещаю мышку на другими клипами. Вот мне и нужно отловить вхождение мышки в зону клипа при нажатой кнопке.
(dragOver - это нажал, ушёл за пределы, опять вошёл в пределы)

derhab 04.08.2003 18:12

_droptarget тебе поможет

derhab 04.08.2003 18:58

а чем тебя это не устраивает?

Код:

onClipOver = function (target) {
        onEnterFrame = function() {
                if (_press) {
                        if (target.hitTest(_root._xmouse, _root._ymouse, 1)) {
                                trace(target+" - over");
                        }
                }
        };
};
onMouseDown = function () {
        _press = 1;
        onClipOver ("твой мувик");
};
onMouseUp = function () {
        _press = 0;
};


metton 05.08.2003 01:23

2derhab
Цитата:

_droptarget тебе поможет
а как его в моей ситуации присобачить?

Цитата:

а чем тебя это не устраивает?
Код:

onClipOver = function (target) {
        onEnterFrame = function() {
                if (_press) {
                        if (target.hitTest(_root._xmouse, _root._ymouse, 1)) {
                                trace(target+" - over");
                        }
                }
        };
};
onMouseDown = function () {
        _press = 1;
        onClipOver ("твой мувик");
};
onMouseUp = function () {
        _press = 0;
};


Я уже пробовал что-то подобное. Но! при тысяче мувиков это начинает тормозить так, что мой PIII 733 (хоть и не такой уж новый, но всё же) начинает очень сильно тормозить. По Task Manager-у такой вариант отнимает 100 процентов "силы" (на время этого события). Поэтому нужно что-то качественно иное. Я подумывал о своём событии (мне нужно фиксировать только вход мыши в область клипа [c нажатой кнопкой, что уже не так сложно]). Но никак не могу такое реализовать. (может, кто что подскажет?)
Ещё была идея с onRollOver, но он почему-то отказывается срабатывать при нажатой кнопке мыши...

derhab 05.08.2003 01:28

Цитата:

Оригинал написал(а) metton
[b]2

Но! при тысяче мувиков это начинает тормозить так, что мой PIII 733 (хоть и не такой уж новый, но всё же...

Ну...тысячи мувиков....тут как не крути по-моему..хотя я не знаю... :)

metton 05.08.2003 01:37

2derhab
Заметь, я говорю не о тысячах, а об одной тысяче. Если быть точнее, то верхний предел - 900 (при нижнем пределе в 25 всё летает даже без проверки на "нажатость" кнопки).


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

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