Просмотр полной версии : Переход на следующий Фрейм после эффекта «Печатной машинки»
У меня появилась небольшая проблема:
Во время работы «Печатной машинки» не работает Motion –анимация.
«Печатная машинка»:
Frame1
----------
a=0;
----------
Frame 2
----------
test = new Array('Массив с текстом (с ним все ок)');
_root.text = _root.text+test[a];
----------
Frame 3
----------
a++;
gotoAndPlay (2);
----------
Я во втором слое (на 3 кадра) сделал МувиКлип который не хочет работать.
Как мне заставить работать Этот клип?
ЗЫ:
1)Как сделать, чтоб после завершения печатанья клип печатался заново?
2)Как уменьшить скорость выведения текста и массива (чтоб по медленней печаталось)
0) Дай исходник
1) _root.text = "";
gotoAndPlay (1);
2) Добавить пустых кадров, к примеру
Вообще говоря, есть функция string.charAt(i);
Оригинал написал(а) Aib
0) Дай исходник
1) _root.text = "";
gotoAndPlay (1);
2) Добавить пустых кадров, к примеру
Вообще говоря, есть функция string.charAt(i);
Вот посмотри.
http://www.dizain.info/banner-to-chaf.fla
DeliMIter
03.06.2002, 21:15
2Manix
Строго говоря, если ты уж занялся программированием чего бы то ни было, то стоит вообще забыть что такое таймлайн, а писать все в одном фрэйме. Тогда проблем гораздо меньше.
, но из-начально это был gif баннер.
ЗЫ: а как на счет помочь по теме?
DeliMIter
03.06.2002, 22:13
Тебе ТАК (http://www.workhousepr.com/) нужно?
netstuff
04.06.2002, 10:59
у тебя, как я понял не стоит переход на 4 кадр ...
тебе стоит поставить в 3 кадре проверку на окончание массива и соответствующий переход на 4 кадр.
лови пример...
Не мог бы ты объяснить кто эта ф-ия делает,... Я ее поставил и не что не изменилось...
ЗЫ: скомпелируй этот пример на 5 флешь. И если не трудно дай ссылку на MX я его закачаю (но только на нормальную версию)
netstuff
05.06.2002, 13:02
нормальная версия (http://www.macromedia.com/software/trial_download/) - нормальнее только за деньги :)
во флеш пятый обломно переделывать...
идея в следующем:
1. представляешь весь текст как одну стринговую переменную;
2. создаешь массив, путем разбиения текстовой переменной по знакам (textArray = textVar.split("");
3. Делаешь цикл из двух кадров: в первом инкремент (i++), а во втором добавление в тесктовое поле следующего символа (textField += textArray[i]).
Вот и все, разберись лучше сам - полезенее в 1000 раз нежели прикручивать чужое ;)
В ообщем мне вот что нужно было:
1) "Печатается" текст (постоянно; т.е. как напечатался сбрасывается и опять печатается)
2) + играет МувТвин
---------------------------------------------
А твой пример я не понял. Или понял но не работает.
1) Каким образом нужно сделать весь текст на String
i='ТЕКСТАТЕКСТАТЕКСТАТЕКСТА'; я это так понимаю
2) textArray = textVar.split(""); вот я понимаю но не знаю что такое .split
3) Как создается цикл?
textField += textArray[i];
|
это название текстового поля?
"+=" такое вобще сущь?
netstuff
05.06.2002, 15:58
ну, давай разбираться:
textVar - переменная, содержащая текст;
textArray - массив, в котором текст разбит по знакам (буквам);
textField - текстовое поле (Dynamic), находящееся например в корне фильма (_root);
На таймлайне создаешь два слоя: верхний содержит textField, в нижнем - ActionScript;
Нижний слой разбит на три кадра (keyframes), следующих строго друг за другом (#1, #2, #3).
В первом кадре (#1) определяем переменную:
textVar = "Это текст, который мы будем выводить на экран";
textArray = textVar.split(""); // split - функция, разбивающая строку в массив по определителю (в скобках), у нас определитель не задан - значит разбиваем каждый элемент
i = 0; //переменная, которая поможет нам перебрать все элементы массива
-----------------------------------------------------------------
Во втором кадре (#2) начинается тот самый цикл, про который я говорил:
i++; //это тоже самое, что i = i + 1 - инкремент (последовательное увеличение переменной на еденицу
)
-----------------------------------------------------------------
В последнем (#3) кадре основное действие: последовательно присваиваем текстовому полю элемент-за-элементом:
if(i<textArray.length) { //проверяем, чтобы i вовремя остановилось (вовремя - это значит когда кончится массив)
_root.textField += textArray[i]; //последовательно прибавляем к текстовому полю элемент, индекс которого = i (помним, что i перебирается от начала до конца всего массива)
gotoAndPlay(2); //переходим на кадр увеличения i на еденицу - то есть это непосредственно действие, образующее цикл
}
else stop(); //как только i больше чем количество элементов массива - останавливаемся.
Ок. я это все понял, но у меня по чему-то не работает, так бы игнорирует (но ошибки в скрипте нет)
Посмотри ПЛИЗ.
ВОТ тут. (http://www.Dizain.info/testing.zip)
netstuff
06.06.2002, 19:24
какой флеш? если пятый, то либо присылай исходник, либо сходи купи ;) MX... благо стоит не особо дорого...
или давай исходник я посмотрю, чего там у тебя не так
netstuff
06.06.2002, 19:29
ну вот, выдели текстовое поле, в которое ты хочешь вывести текст, открой окно свойств текста и в поле Instance Name введи имя поля ( в твоем случае 'kon')
Оригинал написал(а) netstuff
какой флеш? если пятый, то либо присылай исходник, либо [B]сходи купи ;) MX... благо стоит не особо дорого...
У нас, в Челябинске ни где его нет,... сечас закачиваю это 46 метров (Может посоветуешь кряк, чтобы триал не надоедал? manix@dizain.info) :D
netstuff
07.06.2002, 10:24
нет, кряком не помогу... к сожалению...
я знаю сайт, который вроде как помогает решить какие-то проблемы с ПО: www.filesearch.ru - поищи ответ на свой вопрос...
Акакий Акакиевич
07.06.2002, 12:23
Оригинал написал(а) DeliMIter
2Manix
Строго говоря, если ты уж занялся программированием чего бы то ни было, то стоит вообще забыть что такое таймлайн, а писать все в одном фрэйме. Тогда проблем гораздо меньше.
а как же в таком разе без таймлайна быть с циклами, которые могут при выполнении вызывать сообщение об перегрузке и предложением отключить цикл?
DeliMIter
07.06.2002, 22:15
На то и есть прямые руки и светлая голова :))))))
Nox Noctis
08.06.2002, 00:01
и пара литров не менее светлого пива :D
Работает на vBulletin ® версия 3.7.3. Copyright ©2000-2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Copyright © 1999-2008 Flasher.ru. All rights reserved.