Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 1.0/2.0 (http://www.flasher.ru/forum/forumdisplay.php?f=93)
-   -   Интерактивное движение (http://www.flasher.ru/forum/showthread.php?t=79847)

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

По идее должен быть в кадре


Часовой пояс GMT +4, время: 16:33.

Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.