Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Прочее";
Текущий архив: 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
2-1257241912
Serge
2009-11-03 12:51
2009.12.20
Как сделать перенос текста в заголовке ListView?


15-1256021069
ocean
2009-10-20 10:44
2009.12.20
Ночной кошмар


2-1256708612
Dim!S
2009-10-28 08:43
2009.12.20
Удаление большого количества записей firebird 1.5


13-1124363646
ilya39
2005-08-18 15:14
2009.12.20
CLR Debugger


2-1257024312
worldmen
2009-11-01 00:25
2009.12.20
Дата перехода на летнее/зимнее время





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский