Форум: "Прочее";
Текущий архив: 2009.12.20;
Скачать: [xml.tar.bz2];
ВнизКак сделать движущуюся линию на Flash? Найти похожие ветки
← →
@!!ex © (2009-10-20 08:56) [0]Понимаю что вопрос не в тот форум, просто не знаю где спрашивать....
Нужно соединить две точки за 10 кадров. Не понимаю как сделать чтобы линия их плавно соединяла.
← →
Kolan © (2009-10-20 09:41) [1]Что если сделать два кадра: на первом две точки, а на втором две точки соединенные линией. А потом попросить флеш сделать переход (motion tween кажется называется).
← →
@!!ex © (2009-10-20 10:37) [2]Не получилось...
← →
KilkennyCat © (2009-10-20 11:00) [3]рисуешь в первом кадре обе точки. на первую точку накладываешь линию, длинной в 1 пиксель. Растягиваешь этот кадр на 10 кадров. последний кадр преобразуешь в ключевой. переходишь в него. вытягиваешь в нем линию до второй точки. выделяешь все кадры. правой кнопкой мыши на них говоришь сделать мошион шэйп.
← →
makvell (2009-10-20 11:03) [4]а две точки сразу видны? нужно анимацией флешевой сделать или на экшен скрипте чтобы это работало? думаю смогу помочь :)
← →
makvell (2009-10-20 11:15) [5]Вот пример без скрипта _http://narod.ru/disk/14302611000/line.fla.html
← →
@!!ex © (2009-10-20 11:34) [6]Точки сразу видны.
Без сркипта, чисто ролик. [5] - то что нужно.
Сейчас попробую сделать как в [3] писано.
← →
Лшдлуттнсфе (2009-10-20 11:39) [7]Я немного забыл - это надо делать в разных слоях. точки - в одном, линия - в другом.
← →
@!!ex © (2009-10-20 11:42) [8]Что-то не получается...
← →
DVM © (2009-10-20 12:23) [9]
> Понимаю что вопрос не в тот форум, просто не знаю где спрашивать.
> ...
http://www.flasher.ru/forum/
← →
makvell (2009-10-20 12:39) [10]
> Что-то не получается...
Ну все просто, рисуем две точки на одном слое, добавляем еще слой, на нем над первой точкой рисуем линию, можно произвольного размера, просто в ее свойствах меняешь длину на 1. дальше выделяешь на временной шкале на 10 отметке оба слоя, т.е. два десятых кадра и жмешь F5 - это добавит не ключевой слой. дальше на слое с линией в десятом кадре жмешь F6, это сделает его ключевым, вот в нем растягиваешь линию как нужно. дальше выделяешь на временной шкале первый кадр слоя с линией и выбираешь в свойствах (под сценой обычно) если в русской версии, то Пара: Shape (это анимация формы). Теперь на временной шкале должна появится стрелка от первого кадра к десятому на слое с линией. Если она прерывистая - значит ошибки есть, иначе - все ок.
← →
dmk © (2009-10-20 13:03) [11]Можно все в одном кадре. Вот рабочий пример. Только протестировал.
Работа с интервалами. Как в Дельфи по таймеру.
Только подправь х и у. И когда рисовать закончишь - вызови clearInterval(PostInterval);
stop();
this.createEmptyMovieClip("mc_area", this.getNextHighestDepth());
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(){
//Если равны, то стоим
if ((PrevX==CurX)&(PrevY==CurY)){
trace("Mouse idle ...");
//Если не над новостями, то переключаемся
if (AboveNews == false) { doSwitch() } else { trace("Above news!") }
}
else //Если не равны, то двигаемся
{
mc_area.beginFill(0xFF0000);
mc_area.lineStyle(1, 0xff0000, 100, true, "none", "round", "miter", 1);
mc_area.moveTo(PrevX, PrevY);
mc_area.lineTo(CurX, CurY);
mc_area.endFill();
PrevX = CurX;
PrevY = CurY;
trace("Mouse moving ...");
};
//clearInterval(PostInterval);
};
var PostInterval:Number = setInterval(SwitchPoint, SwitchDuration);
← →
dmk © (2009-10-20 13:04) [12]Комменты не считать действительными. Просто вырвал кусок кода из текущего проекта.
← →
dmk © (2009-10-20 13:06) [13]Да! И BeginFill / EndFill не нужны.
Страницы: 1 вся ветка
Форум: "Прочее";
Текущий архив: 2009.12.20;
Скачать: [xml.tar.bz2];
Память: 0.48 MB
Время: 0.081 c