![]() |
|
||||||||||
|
|
|
|||||
|
При ролловере вызываю setInterval, в интервале вызываю функцию, которая двигает мувик вслед за мышью, но с маленьким смещением обратно. Эта же функция отслеживает выход мышки за пределы кнопки, и при выходе сносит интервал, и он действительно сносится. Проблема в том, что плеер все еще вызывает событие onRollOver и ставит новый интервал. Не знаю что делать.
Вот весь мой код: X0 = btn_btn._x;//начальное положение кнопки trace(X0); maxA = 30;//максимальное значение на которое может сдвинуться мувик var moveTo = function () { btn_btn._x = X0+(_xmouse-X0)-(btn_btn._width/2)*((_xmouse-X0)/(maxA+btn_btn._width/2)); trace(btn_btn._x); if(btn_btn._x > (X0+maxA)|| btn_btn._x < (X0-maxA)){ trace(intervalID); clearInterval(intervalID); trace("Вышли за пределы кнопки"); } }; btn_btn.onRollOver = function() { _global.intervalID = setInterval(moveTo, 33); trace(intervalID); }; Прошу помощи - стоит проект. |
|
|||||
|
Guest
Сообщений: n/a
|
Удали РоллОвер в самой функции moveTo, а в РоллАуте пропиши его снова. При выполнении мувТу у тебя будет очищаться РоллОвер, а при РоллАуте вновь ему будет присваиваться твоя анонимная функция.
|
|
|||||
|
не то, мувик будет дергаться.
задумка была чтобы мышь выходила за пределы мува только при достижении мувом максимального отклонения |
|
|||||
|
Люди, кто-нибудь делал подобные прилипающие кнопки?
На чем основывалось движение на setInterval или на onEnterFrame? |
|
|||||
|
Регистрация: Dec 2002
Адрес: Сочи
Сообщений: 2,819
|
Убери var перем. moveTo
|
|
|||||
|
я бы так
X0 = btn_btn._x;//начальное положение кнопки
maxA = 80;//максимальное значение на которое может сдвинуться мувик
btn_btn.onRollOver = function() {
var x=this._xmouse;
this.onMouseMove=function(){
var dx=this._xmouse-x
this._x+=dx;
if(Math.abs(this._x-X0)>maxA){
this._x-=dx;
delete this.onMouseMove;
}
}
};
|
|
|||||
|
Спасибо, silin, то что нужно!
|
![]() |
![]() |
Часовой пояс GMT +4, время: 09:40. |
|
|
« Предыдущая тема | Следующая тема » |
|
|