![]() |
Програмная анимация. How to...
Вложений: 1
Как сделать так чтобы 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 дублирует мувик в первозданном его виде.
В твоём случае - пустой мув. А что тебе мешает сразу нарисовать все линии в одном клипе? |
:)
Вложений: 1
Код:
// скорость появления линий....пиши вот так!!!! в твоем случае вместо while я бы использовал for! всё....:) |
Вау... полный рулез! То что надо, прямо в точку!
То что выше я еще может переварю, а вот на счет: Цитата:
И еще я действительно не понял в каком месте добавляются кадры в таймлайн, хотя начинаю думать что к основному таймлайну это не имеет отношения... Отказ приму как должное, в любом случае спасибо! |
Вложений: 1
никаких кадров я не добавлял конечно:)
смысл такой: после создания всех линий я делаю их невыдимыми... свойство _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 он сморится намного круче:) |
!
Большое тебе, чисто человеческое, чисто спасибо!
Побольше бы таких добрых людей и может жить стало бы легче... ;) |
| Часовой пояс GMT +4, время: 12:43. |
Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.