Показать сообщение отдельно
Старый 21.08.2007, 16:17
Kopilkus вне форума Посмотреть профиль Отправить личное сообщение для Kopilkus Найти все сообщения от Kopilkus
  № 1  
Ответить с цитированием
Kopilkus
 
Аватар для Kopilkus

Регистрация: Sep 2005
Сообщений: 11
По умолчанию обработка onMouseMove

вот такое дело, так как событие onMouseMove является глобальным, то возникает достаточно часто. В случае, когда нужно сделать перетаскиванье мышью какого-то элемента можно написать что-то вроде этого:

Код:
var x : Number = 0;

clip.onPress = function ()
{
	this._parent.x = this._xmouse;
}

clip.onMouseMove = function() 
{	
	if (this._parent.x != 0)
	{
		this._parent.clip._x += this._xmouse - this._parent.x;
	}
}

clip.onMouseUp = function ()
{
	this._parent.x = 0;
}
но в этом случае событие onMouseMove все равно будет очень часто вызываться в пустую - примерно в 99.99% случаев, не лучше ли использовать вариант:
Код:
var x : Number = 0;

clip.onPress = function ()
{
	this.onMouseMove = this._parent.clipOnMouseMove;
	this._parent.x = this._xmouse;
}

function clipOnMouseMove() 
{	
	this._parent.clip._x += this._xmouse - this._parent.x;
}

clip.onMouseUp = function ()
{
	this.onMouseMove = null;
}
не знаю, може это уже обсуждалось. посоветуйте какой подход рациональнее использовать.