Як зробити рухому лінію на flash

Як зробити рухому лінію на Flash?

Розумію що питання не в той форум, просто не знаю де питати.
Потрібно з'єднати дві точки за 10 кадрів. Не розумію як зробити щоб лінія їх плавно з'єднувала.

Що якщо зробити два кадри: на першому дві точки, а на другому дві точки з'єднані лінією. А потім попросити флеш зробити перехід (motion tween здається називається).

малюєш в першому кадрі обидві точки. на першу точку накладаєш лінію, довгою в 1 піксель. Розтягуєш цей кадр на 10 кадрів. останній кадр преобразуешь в ключовий. переходиш в нього. витягаєш в ньому лінію до другої точки. вирізняєш всі кадри. правою кнопкою миші на них говориш зробити мошіон шейп.

а дві точки відразу видно? потрібно анімацією флешевих зробити або на екшен скрипті щоб це працювало? думаю зможу допомогти :)

Точки відразу видно.
Без сркіпта, чисто ролик. [5] - то що потрібно.
Зараз спробую зробити як в [3] писано.

Я трохи забув - це треба робити в різних шарах. точки - в одному, лінія - в іншому.

Щось не виходить.

Ну все просто, малюємо дві точки на одному шарі, додаємо ще шар, на ньому над першою точкою малюємо лінію, можна довільного розміру, просто в її властивості міняєш довжину на 1. далі вирізняєш на часовій шкалі на 10 позначці обидва шару, тобто . два десятих кадру і тиснеш F5 - це додасть не ключовий шар. далі на шарі з лінією в десятому кадрі тиснеш F6, це зробить його ключовим, ось в ньому розтягуєш лінію як потрібно. далі вирізняєш на часовій шкалі перший кадр шару з лінією і вибираєш в властивостях (під сценою зазвичай) якщо в російській версії, то Пара: Shape (це анімація форми). Тепер на часовій шкалі повинна з'явиться стрілка від першого кадру до десятого на шарі з лінією. Якщо вона переривчаста - значить помилки є, інакше - все ок.

Можна все в одному кадрі. Ось робочий приклад. Тільки протестував.
Робота з інтервалами. Як в Дельфи за таймером.
Тільки підправ х і у. І коли малювати закінчиш - виклич clearInterval (PostInterval);

var SwitchDuration: Number = 100;
var PrevX: Number = 0;
var PrevY: Number = 0;
var CurX: Number = 0;
var CurY: Number = 0;

// Перевірка руху миші
_root.onMouseMove = function () CurX = _root._xmouse;
CurY = _root._ymouse;
trace ( "CurrentX:" + CurX);
trace ( "CurrentY:" + CurY);
>;

// Перемикач працює постійно! ClearInterval не включати!
function SwitchPoint () # XA0; // Якщо рівні, то стоїмо
# XA0; if ((PrevX == CurX) (PrevY == CurY)) # XA0; trace ( "Mouse idle.");
# XA0; // Якщо не над новинами, то перемикається
# XA0; if (AboveNews == false) else
# XA0;>
# XA0; else // Якщо не рівні, то рухаємося
# XA0;< 
# XA0; mc_area.beginFill (0xFF0000);
# XA0; mc_area.lineStyle (1, 0xff0000, 100, true, "none", "round", "miter", 1);
# XA0; mc_area.moveTo (PrevX, PrevY);
# XA0; mc_area.lineTo (CurX, CurY);
# XA0; mc_area.endFill ();
# XA0; PrevX = CurX;
# XA0; PrevY = CurY;
# XA0; trace ( "Mouse moving.");
# XA0;>;
# XA0; // clearInterval (PostInterval);
>;

var PostInterval: Number = setInterval (SwitchPoint, SwitchDuration);

Так! І BeginFill / EndFill не потрібні.

Схожі статті