PDA

Просмотр полной версии : Сопряжение траектории движения фигур.


Alek74
01.06.2006, 12:48
Есть, к примеру, трапеция. Меньшая грань закреплена в точке. Большая совершает движение по замысловатой кривой. Т.е. имеет место дифформация фигуры.

И есть окружность.

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

Просто объеденить две фигуры в группу не подходит. Окружность начинает дефформироваться вместе с трапецией.

iNils
01.06.2006, 12:59
Это программно нужно?

Alek74
01.06.2006, 13:25
Нет. Через простую анимацию. До скриптов я еще не дошел. Рановато.:)

DimZ
01.06.2006, 13:50
ну тогда не делай эти две фигуры в одщну группу и делай их на разных слоях

-=GRAF=-
01.06.2006, 13:55
Исходник слей...

Alek74
01.06.2006, 13:57
Так ведь траектории не будут совпадать. Попробуй ради интереса.

Трапеция будет деформировать по своей траектории в соответствии с ключевыми кадрами по кривой, а окружность будет двигаться в соответствии с теми же кадрами линейно.

Закрепив один конец трапеции, т.е. назначив ее деформацию относительно ключевой точки в меньшей грани, и в ключевых кадрах сдвигая нижний ее край линейно, мы получим деформацию этого края по кривой.
Можешь попробовать это сделать.

iNils
01.06.2006, 14:02
Мне сложно сказать не видя. Покажи исходник.

Alek74
01.06.2006, 14:15
Пытаюсь освоить простые манипуляции. Это какбы прожектор. К нижнему концу нужно приставить светящийся круг.

-=GRAF=-
01.06.2006, 14:21
Так открой прожектор (Графику или фильм) и нарисуй там этот круг...

Alek74
01.06.2006, 14:27
Эм-м-м... ?

-=GRAF=-
01.06.2006, 14:35
Вот смотри... (Разблочи слоя, замки убери...)

Alek74
01.06.2006, 14:48
Кажеться понял. Надо редактировать сам объект, а не слой. Так?

-=GRAF=-
01.06.2006, 15:02
Ну конечно....

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

-=GRAF=-
01.06.2006, 15:29
Вот кстати пример... Покадровая и Программная анимация....
(Код можно сделать лутче... но этот более понятен для новичков, которые первый раз видят AS (везде математика...)).

Ion
01.06.2006, 18:23
Засунь обе фигуры в клип и анимируй его для трапеции, а внутри него сделай анимацию для окружности, обратную внешней анимации, тогда 2-е анимации будут компенсировать друг друга и всё будет круто

Alek74
01.06.2006, 18:28
Засунь обе фигуры в клип и анимируй его для трапеции, а внутри него сделай анимацию для окружности, обратную внешней анимации, тогда 2-е анимации будут компенсировать друг друга и всё будет круто


А можно простой пример?

-=GRAF=-
01.06.2006, 18:34
Alek74
Кстати, к прожекторам...
Если ты делаешь двойное движение, то очень удобно будет создать направляющий слой, и сделать кривую линию для пути прожектора, допустим часы с маятником, что б сделать максимально реалистичную и ровную анимацию, без направления не обойтись...

Alek74
01.06.2006, 18:37
Вот кстати пример... Покадровая и Программная анимация....
(Код можно сделать лутче... но этот более понятен для новичков, которые первый раз видят AS (везде математика...)).

Это наверное Flash 8. У меня не открывается. Но идея мне ясна. Програмная мультипликация делается, практически, математическим способом. Координаты и функции.

Но для начала разберемся с черчением и рисованием. Ну и с тем, что где лежит:)

Alek74
01.06.2006, 18:42
Кстати, как я понимаю, на реалистичность влияет и кадровая чистота клипа?

Ion
01.06.2006, 19:23
Да, влияет. А почему ты не установишь себе Flash 8?

iNils
01.06.2006, 19:25
На реалистичность влияет не частота кадров, а ключевые моменты и второстепенные детали. Чем больше второстепенных деталей, тем проще мозгу достроить недостающее.

-=GRAF=-
01.06.2006, 20:20
Alek74
Если тебе инет позволяет, то введи в rambler или куда угодно (скачать flash 8 pro).
Хоть его еще многие не розгадали, но все-таки он гараздо лутче и удобнее, если будут ошибки в flash 8 которые работают более в ранних версиях можно поминять flash player на 7 (я так делаю почти постоянно, потому что я еще учу AS2 и прочитал очень, очень мало....).
Программное движение в примере очень легкое, я сделал не очень удачный код, но все-таки для новичков он очень простой...
_root.onEnterFrame=function(){
ball._x+=5;//начальная скорость мяча по горизонтали вправо = 5
if(ball._x(<,>)213){//если скорость меньше или больше этой границы, то происходит //действие
ball._x+=-5;
ball._y+=2;
}

Alek74
02.06.2006, 13:23
Я только начал, и решил ознакомиться с программой именно на русском, а руссификатор только к 7 версии.
Разберусь что где, и поставлю 8.
В локалке с этим проблем нет:)