Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 1.0/2.0 (http://www.flasher.ru/forum/forumdisplay.php?f=93)
-   -   Печатка текста как на печатной машинке... (http://www.flasher.ru/forum/showthread.php?t=96317)

gevak 28.05.2007 19:37

Печатка текста как на печатной машинке...
 
Здравствуйсте, уважаемые форумчане!
Кто-нибудь может мне помочь?
Мне надо сделать так, что бы текст печатался. Я старался сделать так, чтобы text1.text="П"; text1.text="По"; text1.text="Пож" и т.д., пока не собирется нужная фраза, тупо выходил с таймером. Но я не смог отключить таймер. Не подскажете более легкий способ? Или хотя бы как по-нормальному выключить таймер?

И еще один вопрос - меня интересует, как сделать так, что бы правильный ответ в форму (input text) вводился, но в форме есть что-то типо (...), при чем нельзя что бы скобки исчезали. Т.е. если я ввиду в форму "привет" было введено "(привет)", если я все удалю, то должно остаться "( )", если я ввиду еще "что-нибудь", то должно быть "(что-нибудь)".

Подскажите, пожалуйста, как это осуществить.:confused:

iNils 28.05.2007 19:44

1. О каком таймере идет речь?
2. А что будет, если я поставлю курсор после ")" и начну вводить символы?

chingachgoog 28.05.2007 20:13

Цитата:

Сообщение от iNils
2. А что будет, если я поставлю курсор после ")" и начну вводить символы?

Сработает onChanged и вернет все к правильному виду :)

iNils 28.05.2007 20:20

Цитата:

Сообщение от chingachgoog
Сработает onChanged и вернет все к правильному виду :)

А что есть правильный вид? Что будет, если я выберу все символы и вставлю копипастом набор "(123)", тогда () буду считаться введенными символами, или обрамляющими?

chingachgoog 28.05.2007 20:29

Насколько, я понял, при любом виде ввода, должно остаться обрамление "(...)", это достижимо. Хотя придется много всего предусмотреть.
И в случае копипаста "(123)" текст в нужном виде, код ничего не добавляет и считает что было введено 123.

iNils 28.05.2007 20:58

А если внутри "()" вставить "(123)"? А если после "()"? Что тогда будет, "(()(123))"?

chingachgoog 28.05.2007 21:16

ХЗ.
Можно и такой вариант просчитать :)
Но тут главное что хочет клиент: хочет чтобы всегда С КРАЕВ было "()"? Пожалуйста - вариант "(()(123))" прокатывает :)

iNils 28.05.2007 21:30

Код:

var txtBack:TextField = this.createTextField ("txtBack", this.getNextHighestDepth (), 100, 100, 200, 30);
var txt:TextField = this.createTextField ("txt", this.getNextHighestDepth (), 100, 100, 200, 30);
var fmt:TextFormat = new TextFormat ();
fmt.font = "Arial"
fmt.size = 20
txtBack.setNewTextFormat (fmt);
fmt.leftMargin = 6;
txt.setNewTextFormat (fmt);
txt.type = "input";
txt.border = true;
txtBack.html = true
txt.onChanged = function () {
        txtBack.htmlText = "(<font color='#FFFFFF'>" + this.text + "</font>)";
};
txtBack.text = "()";


FFFantik 29.05.2007 13:58

Цитата:

Сообщение от gevak
Здравствуйсте, уважаемые форумчане!
Кто-нибудь может мне помочь?
Мне надо сделать так, что бы текст печатался. Я старался сделать так, чтобы text1.text="П"; text1.text="По"; text1.text="Пож" и т.д., пока не собирется нужная фраза, тупо выходил с таймером. Но я не смог отключить таймер. Не подскажете более легкий способ? Или хотя бы как по-нормальному выключить таймер?

МОжно как-то так =)
Код:

str = "Привет, как дела !";
i = 0;
printText = function () {
        if (i<=str.length) {
                _root.createTextField('field', _root.getNextHighestDepth(), 10, 10, 100, 30);
                field.border = true;
                field.text = str.substr(0, i);
                i++;
        } else {
                clearInterval(intervalId);
        }
};
intervalId = setInterval(printText, 100);



Часовой пояс GMT +4, время: 18:15.

Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.