![]() |
плавное перемещение
Вложений: 1
я нашла интересный алгоритм перемещения и масштабирования картинок в зависимости от расположения мышки (расстояние от координат картинки до координат мыши)
как изменяется масштаб понятно, но как меняется расстояние я совершенно не могу понять, а точнее почему именно так расчитываеются параметры vx и vy помогите разобраться пожалуйста! я вкладываю флэшку move_.rar |
Собственно,
Код:
MovieClip.prototype.changeScaleAndCoord = function() |
хорошо, меня интересует конкретно this.vx
в коде Код:
this._x += (this.x0 + this.vx - this._x) / 10;который расчитывается непонятным мне образом в коде Код:
MovieClip.prototype.onNewCoordParam = function (c, r, sc) |
Что конкретно вам непонятно в коде? То, что берется предыдущее значение vx, vy справа в выражении или что?
|
если откуда они вообще взялись, то вот это место, в функции init():
Код:
var mc = _root.attachMovie("img", "img" + d, d, {col:j, row:i, vx:0, vy:0}); |
нет :) правила написания кода понятны!
я прошу прощение за неточность напримет чтобы сделать простое плавное движение объекта от точки до точки можно использовать в onEnterFrame мувика(mc) который мы перемещаем, формулу: Код:
mc._x += (mc.targetX-mc._x)/mc.speed;т.е тут мы берём расстояние между текущим расположением объекта и конечной точкой и сдвигаем объект на десятую часть этого расстояния......т.к. эта десятая чать уменьшается с каждым разом, получаем замедление..... в примере, о котором я спрашиваю, мы перемещаем объекты по формуле Код:
this._x += (this.x0 + this.vx - this._x) / 10;мне не понятен смысл расчёта параметра vx т.е. смысл вычисления, что это значит: Код:
this.vx = this.vx + (newX - this.vx) / 100ну, не хватает меня, чтобы понять, почему так составлена формула смысл, смысл мне формулы разъясните пожалуйста! |
Код:
this.vx += (newX-this.vx)/100; |
вот эта переменная this.vx (которая в формуле this._x += (this.x0 + this.vx - this._x) / 10) для каждого мува - это расстояние, на которое нужно переместить этот мувик по координате x
И расчитывается оно (this.vx) как сумма vx(по формуле this.vx += (newX-this.vx)/100) (слагаемых столько, сколько остальных мувиков), которые расчитываются в зависимости от масштаба остальных мувиков моя несчастная голова этого не догоняет, я расчитывала, что мне хоть кто-нибудь по-человечески растолкует это без наводящих вопросов и намёков. |
Ну тогда изучайте математику, нарисуйте на бумажке, в конце концов.
|
ну, бумажка не помогла, иначе бы не спрашивала, откровенно говоря
ну, в общем, большое, блин, спасибо ) |
| Часовой пояс GMT +4, время: 12:20. |
Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.