![]() |
|
||||||||||
|
|||||||
|
|
« Предыдущая тема | Следующая тема » |
| Опции темы | Опции просмотра |
|
![]() |
![]() |
|
|
|
|||||
|
Негуру
администратор
Регистрация: Jan 2000
Адрес: Кёнигсберг in Moscow
Сообщений: 21,883
Записей в блоге: 7
|
1. Вы запускаете новый интервал при каждом движении мыши, а старые при этом не убиваются так как вы каждый раз переназначаете id
2. Функция interval будет работать у вас вечно, так как координаты ball не будут равны координатам курсора. 3. Ваши проверки типа this._x > xx лишние. function interval (mc, dt) {
var dx = (mc._x - _root._xmouse) / dt;
var dy = (mc._y - _root._ymouse) / dt;
if (Math.abs (dx) < 0.1 and Math.abs (dy) < 0.1) {
clearInterval (id);
id = false;
trace ("stop")
}
mc._x -= dx;
mc._y -= dy;
updateAfterEvent ();
}
this.onMouseMove = function () {
if (!id) {
id = setInterval (interval, 10, ball, 10);
}
};
Последний раз редактировалось iNils; 30.08.2006 в 12:17. |
|
|||||
|
Регистрация: Aug 2003
Сообщений: 25
|
iNils, Супер. спасибо!
я подозревал, что не правильно делать точное сравнение (==) и пытался тоже делать < заданного порога. Но я не допер совершенно до сброса id в ложь и последующей проверки. Очень ловко! И с отрицательным приращением (-=dx) вместо моих идиотских сравнений - тоже просто шикарно. Еще раз огромное спасибо. |
![]() |
![]() |
Часовой пояс GMT +4, время: 16:34. |
|
|
« Предыдущая тема | Следующая тема » |
| Опции темы | |
| Опции просмотра | |
|
|