![]() |
|
||||||||||
|
|||||
|
Есть ооочень длинный мув. (где то 1500 px).
Вот под него код: frames.onMouseMove = function() {
if (this.hitTest(_root._xmouse, _root._ymouse, true)) {
cent = 280;
vist_1 = 960;
vist_2 = 890;
k_1 = vist_1/cent;
k_2 = vist_2/cent;
if (_root._xmouse<100) {
var firstTween:Tween = new Tween(frames, '_x', None.easeOut, frames._x, 660-(_xmouse-280)*k_2, 7, true);
}
else if (_root._xmouse>460) {
var secondTween:Tween = new Tween(frames, '_x', None.easeOut, frames._x, -280-(_xmouse-280)*k_1, 7, true);
}
else{
//тут надо написать функцию, которая остановит твины
}
}
};
З. Ы. Инилс, извини. |
|
|||||
|
Негуру
администратор
Регистрация: Jan 2000
Адрес: Кёнигсберг in Moscow
Сообщений: 21,883
Записей в блоге: 7
|
У вас логика общая неправильная.
При каждом движании мыши и хиттесте, будет запускатся новый твиин, а старые вы не остановили. Они так и будут дальше работать, накапливаясь. Надо делать примерно следущее: var tween:Tween = null;
frames.onMouseMove = function() {
if (this.hitTest(_root._xmouse, _root._ymouse, true)) {
cent = 280;
vist_1 = 960;
vist_2 = 890;
k_1 = vist_1/cent;
k_2 = vist_2/cent;
tween.stop ();
if (_root._xmouse<100) {
tween = new Tween(frames, '_x', None.easeOut, frames._x, 660-(_xmouse-280)*k_2, 7, true);
}
else if (_root._xmouse>460) {
tween = new Tween(frames, '_x', None.easeOut, frames._x, -280-(_xmouse-280)*k_1, 7, true);
}
}
};
|
![]() |
![]() |
Часовой пояс GMT +4, время: 02:50. |
|
|
« Предыдущая тема | Следующая тема » |
|
|