Показать сообщение отдельно
Старый 30.08.2006, 11:23
an_artist вне форума Посмотреть профиль Отправить личное сообщение для an_artist Найти все сообщения от an_artist
  № 1  
Ответить с цитированием
an_artist

Регистрация: Aug 2003
Сообщений: 25
По умолчанию Движение объекта за курсором с запаздыванием.

Как сделать движение объекта за курсором мыши с запаздыванием используя setInterval?

Т.е. я сделал это самое запаздывание через onEnterFrame
Код:
this.onEnterFrame=function()
{
xx=_root._xmouse;
yy=_root._ymouse;

if (this._x > xx) {this._x-=(this._x-xx)/4;} else {this._x+=(xx - this._x)/4;};
if (this._y > yy) {this._y-=(this._y-yy)/4;} else {this._y+=(yy - this._y)/4;};
}
Все работает и меня вполне устраивает.

Потом хотел сделать тоже самое через setInterval вот таким образом:
Код:
interval = function(xx, yy) {
	if ((ball._x==xx)&&(ball._y==yy))
	{
		clearInterval(id);
	}
	else
	{
	if (ball._x > xx) {ball._x-=(ball._x-xx)/4;} else {ball._x+=(xx - ball._x)/4;};
	if (ball._y > yy) {ball._y-=(ball._y-yy)/4;} else {ball._y+=(yy - ball._y)/4;};
	updateAfterEvent();
	}
}

this.onMouseMove=function()
{
id = setInterval (interval, 80, _root._xmouse, _root._ymouse);
}
Но приведенный код работает неправильно.
Вместо плавного красивого запаздывания на экране какое-то хаотичное мелькание.
Подскажите, в чем ошибка?