![]() |
|
||||||||||
|
|||||
|
Господа, хэлп.
как сделать самописный текст. ну, как будто кто-то набирает на клавиатуре... помню видел где-то тутор... ша найти не могу((( текста дофига, посему вариант покадрово стирать по одной букве не канает... |
|
|||||
|
ветеран форума
|
Базовый вариант:
var myLongText:String = "bla bla bla bla bla bla bla bla bla bla ";
var counter:Number = 0;
function write():Void {
if (myLongText.charAt(counter) != "") {
myField.text += myLongText.charAt(counter);
counter++;
} else {
clearInterval($1);
}
}
var $1 = setInterval(write, 200);
Если хочется естественнее можно использовать setTimeout и ставить 200-400 по рандому |
|
|||||
|
Как вариант
Создаешь текстовое поле с именем "pole" После в действиях кадра где это поле пишешь. var tex:String = "Вот здесь пишется текст, да он и правда здесь пишется... Вы не верите?";
var mel:String = "";
var i:Number = 0;
this.onEnterFrame = function () {
if (pole.text != tex+"_") {
mel = tex.slice(0, i)+"_";
pole.text = mel;
i++;
} else {
pole.text = pole.text.slice(0, pole.text.length-1);
delete this.onEnterFrame; // Если хочешь чтобы в конце мигала палочка убери эту строку
}
}
|
|
|||||
|
ветеран форума
|
И еще лучше звук нажатия на клавиши добавить, и будет совсем хорошо...
|
|
|||||
|
Ну эт легко.
Всего лишь надо вставть sound.start(); (предварительно создав) после добавления каждой буквы. Вообще будет отлично. |
|
|||||
|
ветеран форума
|
Еще лучше вызывать чуть раньше, но когда пробовал это делать, выяснилось, что синхронизация ухудшается...
И еще одна поправка - онЕнтерФрейм выглядит неестественно, текст слишком быстро печатается даже на 12 кадрах в сек Мне кажется, лучше эту функцию всетаки в интервал - так легче менять частоту появления букв... |
|
|||||
|
Я просто из забвения, никогда с интервалом не работал.
![]() |
|
|||||
|
Banned
[5 01.09.2006]
Регистрация: Jun 2005
Сообщений: 1,805
|
Цитата:
|
|
|||||
|
ТОварисчи, смарите, чё я нащёл
![]()
__________________
Flash ещё не торт... Последний раз редактировалось Ekzi; 02.09.2006 в 23:08. |
|
|||||
|
ветеран форума
|
2Ion
Это недокументированная функция, но существует давно и работает без проблем...в т ч в 9 плеере при воспроизведении файла 8 версии...как интервал, но вызов 1 раз... Все работает. есть и clearTimeout - но вроде ничем не отличается от clearInterval, ASnative у них один... |
![]() |
![]() |
Часовой пояс GMT +4, время: 04:36. |
|
|
« Предыдущая тема | Следующая тема » |
|
|