PDA

Просмотр полной версии : Интерактивное движение


udjin
17.05.2006, 17:01
Друзья, подкиньте скрипт или ссылку на сорц, который бы реагируя на движение мыши передвигал бы, допустим, прямоугольники (где-то видел такой) - мышь вправо, прямоугольники немного влево. Чем правее мышь, тем левее прямоугольники, причем чем ближе прямоугольник к центру мувика, тем менее активно он двигается (такая якобы перспектива получается).

iNils
17.05.2006, 17:29
//// mc - это клип который двигается
//// точка отсчета
this.pointX = 400;
//// ускорение
this.a = 1.3;
this.onMouseMove = function () {
var delta = this.pointX - this._xmouse;
var znak = delta / Math.abs (delta);
mc._x = this.pointX + Math.pow (Math.abs (delta), this.a) * znak;
};

udjin
28.05.2006, 17:32
Nils, спасибо!
Но есть небольшой глюк - при первом движении мышью, объект делает резкий скачок.
Вероятно из-за того, что mc._x = this.pointX + Math.pow (Math.abs (delta), this.a... - к 400 сразу прибавляется всё это дело.
Как бы исправить?

KUZEN
28.05.2006, 18:31
Ставить мувик сразу в нужные координаты или же this.pointX ставить таким в катих координатах изначально находиться мувик ну или написать так this.pointX = mc._x;

udjin
28.05.2006, 18:52
да это сразу и сделал, понятное дело.
скрипт сейчас такой:

this.pointX = mc._x;
this.pointY = mc._y;
this.a = 0.6;

this.onMouseMove = function () {
var deltaX = this.pointX - this._xmouse;
var deltaY = this.pointY - this._ymouse;
var znakX = deltaX / Math.abs (deltaX);
var znakY = deltaY / Math.abs (deltaY);
mc._x = this.pointX + Math.pow (Math.abs (deltaX), this.a) * znakX;
mc._y = this.pointX + Math.pow (Math.abs (deltaY), this.a) * znakY;
};

udjin
28.05.2006, 19:01
mc._y = this.point Y конечно + Math.pow (Math.abs (deltaY), this.a) * znakY;

KUZEN
28.05.2006, 19:19
А чё тогда спрашивать ..

NixPN
28.05.2006, 19:44
Неуверен в себе)

azazul
17.11.2009, 00:19
Прошу прощения за, возможно, глупый вопрос, но что есть this в данном контексте? Где лежит этот код?

Zik.
17.11.2009, 08:42
По идее должен быть в кадре

moser
05.11.2010, 13:12
Всем привет!
Есть вопрос в продолжение этой темы. Этот код прекрасно работает, но есть такая задача: у меня мувик, который плавает, лежит под маской, а при ресайзе страницы происходит ресайз и этой маски. После этого мувик начинает выплывать за границу маски. С этим можно что-то сделать?
Спасибо!