Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   Action script 2.0 (http://www.flasher.ru/forum/forumdisplay.php?f=49)
-   -   новая жизнь Motion Tween (http://www.flasher.ru/forum/showthread.php?t=62064)

Iv 18.08.2004 19:09

новая жизнь Motion Tween
 
Код:

import com.sharedfonts.Path
// source http://www.sharedfonts.com/Path.as
_root.createEmptyMovieClip("mc", 0);
_root.mc.lineStyle(5, 0xFF0000, 100);
_root.mc.lineTo(.2, 0);
_root.mc.p0 = 100;
_root.mc.p1 = 100;
_root.mc.speed = _root.mc.path_position=0;
_root.mc.dir = 0.1;
_root.mc.onEnterFrame = function() {
_root.mc.tween_path = new Path(400, 0,
this.p1, 0, 100, 100, 100, 200, 450, 380, 0, this.p0);
// show path
_root.clear(), _root.lineStyle(0, 0, 30);
_root.moveTo(400, 0);
_root.curveTo(this.p1, 0, 100, 100);
_root.curveTo(100, 200, 450, 380);
_root.curveTo(0, this.p0, 400, 0);
//
this.p1 += 1, this.p0 += 1;
this.path_position += this.speed += this.dir;
if (random(100) == 1) {
this.dir = -this.dir;
}
var poz = this.tween_path.getPointByPosition(this.path_position);
this._x=poz._x, this._y=poz._y;
};


Artem Brigert 21.08.2004 01:51

Несовсем понятно :)

FreeLander 21.08.2004 20:32

действительно, не совсем
ну анимация, ну программная, ну и что ты этим хотел сказать?

Iv 23.08.2004 14:09

здесь подробно обсудили.

Artem Brigert 24.08.2004 02:23

Хммм... всё равно не совсем понятно :)

Iv 24.08.2004 13:14

оки. еще раз.
задача:
простой в использовании программный Motion Tween.

претензии на гениальность, массовую востребованность:
отсутствуют.

решение:
работа с траекторией используя только один параметр - позицию точки на длине (длина кривой от начала кривой до точки, расположенной на этой кривой).

траектория:
набор вершин безье [вершина_x, вершина_y, контрол_x, контрол_y, вершина_x, вершина_y, контрол_x, контрол_y.........], где конечная точка одной безье является начальной точкой следующей. Если последовательность точек заканчивается контрол точкой, то за конечную точку последней кривой принимается первая точка траектории.

Пользователю требуется задать траекторию, затем задать на вход метода getPointByPosition позицию точки на длине от начала кривой, и в итоге получить координаты точки на плоскости и угол касательной (на сайте выложен новый Path.as, в котором возвращается и угол касательной).

В отличие от обычного Motion Tween этот:
1) не добавляет веса
2) траектория может программно изменяться
3) скорость, угол поворота относительно пути могут тоже программно изменяться, в том числе с использованием любых .
4) простота использования: Path решает только одну задачу, задачу конвертации позиции точки на пути в двухмерные координаты точки и угол поворота. Поэтому использовать его, надеюсь несложно.

если что-то непонятно, спрашивайте.


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

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