Kroli4eg
28.05.2008, 14:33
Дотрый день. У меня есть карта которую можно двигать мышкой (в рамках клипа) и размеры которой можно менять. Проблема в том что огранечение по перемещению не всегда сробатывает, например если я резко дерну мышкой, карта вылетает за пределы области, а если двигаю не быстро то все работает. Вот код
_root.onMouseDown = function()
{
a = _root._xmouse - bigmap._x;
b = _root._ymouse - bigmap._y;
_root.onMouseMove = function()
{
s = bigmap._xscale = bigmap._yscale;
l = s*14.47/2;// opedelyaem na skol'ko karta izmenilas' pri maswtabirovanii
k = s*11.024/2;
// opredelyaem 4 to4ki na granyax karti
coord4 = bigmap._x - l;
coord3 = bigmap._x + l;
coord2 = bigmap._y + k;
coord1 = bigmap._y - k;
if ((coord1 < 0)&&(coord2 > 418.9)&&(coord3 > 550)&&(coord4 < 0))
{
// dvigaem kartu tak 4tobi pri nazatii na nee cener karti i poziciya kursora ne bili ravni
bigmap._x = _root._xmouse - a;
bigmap._y = _root._ymouse - b;
}
updateAfterEvent();
}
}
_root.onMouseUp = function()
{
delete _root.onMouseMove;
}
_root.onMouseDown = function()
{
a = _root._xmouse - bigmap._x;
b = _root._ymouse - bigmap._y;
_root.onMouseMove = function()
{
s = bigmap._xscale = bigmap._yscale;
l = s*14.47/2;// opedelyaem na skol'ko karta izmenilas' pri maswtabirovanii
k = s*11.024/2;
// opredelyaem 4 to4ki na granyax karti
coord4 = bigmap._x - l;
coord3 = bigmap._x + l;
coord2 = bigmap._y + k;
coord1 = bigmap._y - k;
if ((coord1 < 0)&&(coord2 > 418.9)&&(coord3 > 550)&&(coord4 < 0))
{
// dvigaem kartu tak 4tobi pri nazatii na nee cener karti i poziciya kursora ne bili ravni
bigmap._x = _root._xmouse - a;
bigmap._y = _root._ymouse - b;
}
updateAfterEvent();
}
}
_root.onMouseUp = function()
{
delete _root.onMouseMove;
}