Форум 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)
-   -   замена onMouseMove (http://www.flasher.ru/forum/showthread.php?t=112876)

Kroli4eg 10.06.2008 19:54

замена onMouseMove
 
Добрый день. Чем можно заменить событие onMouseMove или как поступить? У меня есть два прямоугольника А и Б, Б уменьшенное отображение А. Когда я двигаю A за ним двигается Б по
Код:

maska_main.onMouseMove = function()
{
 ax = bigmap._width/221;
 ram_test._x = ram_test._width/2 - bigmap._x/ax + 642.2;
 ram_test._y = ram_test._height/2 - bigmap._y/ax + 106.55;
}

Когда я двигаю Б за ним двигается А по
Код:

smallmap.onMouseMove = function()
{
 ax = bigmap._width/221;
 bigmap._x = bigmap._width/2 - (ram_test._x - 640)*ax;
 bigmap._y = bigmap._height/2 - (ram_test._y - 100)*ax;
}

Так вот когда я двигаю только один прямоугольник то все нормально, но если подвигав один прямоугольник начинаю двигать другой то фигуры разлетаются в разные стороны. Как быть?

alexcon314 10.06.2008 23:42

Событие onMouseMove генерируется при ЛЮБЫХ перемещениях мыши в пределах окна проигрывателя. В вашем случае, какой бы вы клип не перемещали, будут отрабатывать ОБЕ функции по-очереди. Сравните:
Код:

a.onMouseMove = function() {
        trace("a");
};
b.onMouseMove = function() {
        trace("b");
};

Для привязки к конкретному клипу используйте onPress/onRelease/onReleaseOutside.
Код:

// a и b - клипы.
a_onMouseMove = function () {
        trace("a");
        a._x = _xmouse;
        a._y = _ymouse;
        b._x = _xmouse+100;
        b._y = _ymouse+100;
};
b_onMouseMove = function () {
        trace("b");
        b._x = _xmouse;
        b._y = _ymouse;
        a._x = _xmouse-100;
        a._y = _ymouse-100;
};
a.onPress = function() {
        onMouseMove = a_onMouseMove;
};
a.onRelease = a.onReleaseOutside=function () {
        onMouseMove = null;
};
b.onPress = function() {
        onMouseMove = b_onMouseMove;
};
b.onRelease = b.onReleaseOutside=function () {
        onMouseMove = null;
};


Kroli4eg 11.06.2008 15:32

спасибо, помогло!!!:yahoo:


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

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