![]() |
|
||||||||||
|
|||||
|
Регистрация: Oct 2002
Адрес: Казахстан, Астана
Сообщений: 204
|
Как сделать так чтобы diplicateMoveClip дублировал линию (в моем случае) в каждом последующем кадре?
Вобщем задача такая - хочется чтобы при запуске клипа задний фон, в моем случае состоящий из линий, прорисовывался как анимация. Делаю так: //создаю пустой клип с линией _root.createEmptyMovieClip("line", 1); with (_root.line) { lineStyle(0, 0x00FF00, 100); lineTo(0, 400); } //затем дублирую его слева на право while (t<183) { duplicateMovieClip(_root.line, "line"+t, u); setProperty("line"+t, _x, t*3); if (t<90) { setProperty("line"+t, _alpha, (m)); m++ } else { setProperty("line"+t, _alpha, (m)); m-- } t++; u++; } //Я где-то в глубине души догадываюсь что в цикле где дублируется клип надо вставить что-то типа InterKeyFrame (t), но не знаю этой команды (вставки самого фрейма) Перерыл все мануалы и справки с флешером - не нашел, может плохо искал...
__________________
Чайник Я!!! Но не надолго... |
|
|||||
|
duplicateMovieClip дублирует мувик в первозданном его виде.
В твоём случае - пустой мув. А что тебе мешает сразу нарисовать все линии в одном клипе?
__________________
Work not wolf - in forest no run |
|
|||||
|
Bumble Bee
[+1 05.07.06]
|
// скорость появления линий....
speed = 20;
_root.createEmptyMovieClip("line", 1);
with (_root.line) {
lineStyle(0, 0x00FF00, 100);
lineTo(0, 400);
}
_root.createEmptyMovieClip("ram", 777);
with (_root.ram) {
lineStyle(0, 0x00FF00, 100);
moveTo(0,0);
lineTo(550, 0);
lineTo(550, 400);
lineTo(0, 400);
lineTo(0,0);
}
while (t<183) {
duplicateMovieClip(_root.line, "line"+t, u);
_root["line"+t]._x = t*3;
_root["line"+t]._visible = 0;
if (t<90) {
_root["line"+t]._alpha = m;
m++;
} else {
_root["line"+t]._alpha = m;
m--;
}
t++;
u++;
}
_root.createEmptyMovieClip("line2", 2);
with (_root.line2) {
lineStyle(0, 0x00FF00, 100);
lineTo(550, 0);
}
e = 184;
while (z<134) {
duplicateMovieClip(line2, "linera"+z, e);
_root["linera"+z]._y = z*3;
_root["linera"+z]._visible = 0;
if (z<68) {
_root["linera"+z]._alpha = n;
n++;
} else {
_root["linera"+z]._alpha = n;
n--;
}
e++;
z++;
}
_root.createEmptyMovieClip("linert", 600);
with (_root.linert) {
lineStyle(0, 0x00FF00, 100);
moveTo(6, 0);
lineTo(6, 400);
_root.linert._alpha = 0;
}
function addLineX() {
t--;
_root["line"+t]._visible = 1;
if (t==0) {
clearInterval(setx);
}
}
function addLineY() {
z--;
_root["linera"+z]._visible = 1;
if (z==0) {
clearInterval(sety);
}
}
setx = setInterval(function () { addLineX();}, speed);
sety = setInterval(function () { addLineY();}, speed);
пиши вот так!!!! в твоем случае вместо while я бы использовал for! всё.... ![]()
__________________
Portfolio |
|
|||||
|
Регистрация: Oct 2002
Адрес: Казахстан, Астана
Сообщений: 204
|
Вау... полный рулез! То что надо, прямо в точку!
То что выше я еще может переварю, а вот на счет: Цитата:
И еще я действительно не понял в каком месте добавляются кадры в таймлайн, хотя начинаю думать что к основному таймлайну это не имеет отношения... Отказ приму как должное, в любом случае спасибо!
__________________
Чайник Я!!! Но не надолго... |
|
|||||
|
Bumble Bee
[+1 05.07.06]
|
никаких кадров я не добавлял конечно
![]() смысл такой: после создания всех линий я делаю их невыдимыми... свойство _visible означает видимость 0-нет, 1-да! вот где я их делаю... while (t<183) { duplicateMovieClip(_root.line, "line"+t, u); _root["line"+t]._x = t*3; _root["line"+t]._visible = 0; if (t<90) {.... и для вертикальных линий также.... потом создаю две функции для лини горизонтальных: function addLineX() { t--; _root["line"+t]._visible = 1; if (t==0) { clearInterval(setx); } и для вертикальных: function addLineY() { z--; _root["linera"+z]._visible = 1; if (z==0) { clearInterval(sety); } } смысл этих функций: после цикла перменные t=180 z=134... так вот отнимая еденицу от этих чисел...я делаю клипы видимыми поочереди...! почему же все таки они появляются не сразу??? ![]() а вот почему: циклическая фукция setInterval(function () { addLineX();}, speed); выполняется через каждые в данном случае 20 милисекунд таким образом проявляя один клип за другим! воть ![]() если надо еще подробнее ты скажи! скачай исходник! с framerate=50 он сморится намного круче ![]()
__________________
Portfolio |
|
|||||
|
Регистрация: Oct 2002
Адрес: Казахстан, Астана
Сообщений: 204
|
Большое тебе, чисто человеческое, чисто спасибо!
Побольше бы таких добрых людей и может жить стало бы легче... ![]()
__________________
Чайник Я!!! Но не надолго... |
![]() |
Часовой пояс GMT +4, время: 06:20. |
|
|
« Предыдущая тема | Следующая тема » |
|
|