Форум Flasher.ru
Ближайшие курсы в Школе RealTime
Список интенсивных курсов: [см.]  
  
Специальные предложения: [см.]  
  
 
Блоги Правила Справка Пользователи Календарь Сообщения за день
 

Вернуться   Форум Flasher.ru > Flash > ActionScript 1.0/2.0

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 06.01.2007, 20:48
Ksюta вне форума Посмотреть профиль Отправить личное сообщение для Ksюta Найти все сообщения от Ksюta
  № 1  
Ответить с цитированием
Ksюta

Регистрация: Dec 2006
Сообщений: 60
Отправить сообщение для Ksюta с помощью ICQ
По умолчанию Ограничение input-text

Перелопатила весть поиск, но так и не разобралась. Как мне сделать так чтобы поле ввода ограничивалось размерами текст-бокса? То есть дошел до конца и дальше не печатает. Ну или хотя бы ввести ограничение на кол-во строк что ли...
Нашла в архиве вот такой скрипт:
Код:
var a_txt:TextField = _root.createTextField("a_txt", 0, 0, 0, 200, 100);
var tf:TextFormat = new TextFormat();
tf.size = 20;
tf.font = "_sans";
a_txt.border = true;
a_txt.multiline = true;
a_txt.type = "input";
a_txt.borderColor = 0x000000;
a_txt.wordWrap = true;
a_txt.onChanged = function() {
a_txt.setTextFormat(tf);
if (this.maxscroll>1) {
for (i=0; i<this.length; ) {
this.text = this.text.substring(-1, this.text.length-1);
trace(this.text);
if (checkLength(this.text, this)) {
break;
}
i++;
}
}
};
function checkLength(_str:String, _txt:TextField):Boolean {
_txt.text = _str;
_txt.setTextFormat(_root.tf);
if (_txt.maxscroll>1) {
return false;
} else {
return true;
}
}
Но у меня он не работает вообще, только курсор изменяется над зоной и больше ничего не происходит. Совсем запуталась.

Старый 06.01.2007, 21:01
BigDan вне форума Посмотреть профиль Отправить личное сообщение для BigDan Найти все сообщения от BigDan
  № 2  
Ответить с цитированием
BigDan
 
Аватар для BigDan

Регистрация: Apr 2006
Адрес: Kiev
Сообщений: 1,675
Отправить сообщение для BigDan с помощью ICQ
читай про maxChars

Старый 06.01.2007, 21:09
Ksюta вне форума Посмотреть профиль Отправить личное сообщение для Ksюta Найти все сообщения от Ksюta
  № 3  
Ответить с цитированием
Ksюta

Регистрация: Dec 2006
Сообщений: 60
Отправить сообщение для Ksюta с помощью ICQ
Вот из хелпа - maxChars
Property; the maximum number of characters that the text field can contain.

Это ж про символы, а мне не символы нужно ограничить а строки или поле само. В нашем языке символы имеют разную ширину, поэтому текст с одним и тем ж кол-вом символов может занимать очень разное кол-во строк, так что это не подходит.

Старый 06.01.2007, 21:19
BigDan вне форума Посмотреть профиль Отправить личное сообщение для BigDan Найти все сообщения от BigDan
  № 4  
Ответить с цитированием
BigDan
 
Аватар для BigDan

Регистрация: Apr 2006
Адрес: Kiev
Сообщений: 1,675
Отправить сообщение для BigDan с помощью ICQ
тогда читай про символы перевода на новую строку \r \n

Старый 06.01.2007, 21:38
iNils вне форума Посмотреть профиль Отправить личное сообщение для iNils Посетить домашнюю страницу iNils Найти все сообщения от iNils
  № 5  
Ответить с цитированием
iNils
Негуру
 
Аватар для iNils

администратор
Регистрация: Jan 2000
Адрес: Кёнигсберг in Moscow
Сообщений: 21,883
Записей в блоге: 7
Цитата:
Сообщение от BigDan
тогда читай про символы перевода на новую строку \r \n
Причем тут это?

Код:
var txt:TextField = this.createTextField ("txt", 0, (Stage.width - 50) / 2, (Stage.height - 20) / 2, 50, 20);
var str:String = "";
txt.border = true;
txt.type = "input";
txt.onChanged = function () {
	if (this._width - 4 <= this.textWidth || txt.hscroll > 0) {
		txt.hscroll = 0;
		this.text = str;
	} else {
		str = this.text;
	}
	trace (this._width + " " + this.textWidth);
};
__________________
(и)Нильс.ru | Плагины для FlashDevelop

Старый 06.01.2007, 21:52
Ksюta вне форума Посмотреть профиль Отправить личное сообщение для Ksюta Найти все сообщения от Ksюta
  № 6  
Ответить с цитированием
Ksюta

Регистрация: Dec 2006
Сообщений: 60
Отправить сообщение для Ksюta с помощью ICQ
iNils, спасибо, но не работает.
Отчаянно пытаюсь включиться... Может 7-ой flash устарел для него?
Насколько я поняла он должен ставиться в фрейм сцены и автоматом создавать текст. поле по заданным параметрам, но выдает пустой экран.

Старый 06.01.2007, 21:57
iNils вне форума Посмотреть профиль Отправить личное сообщение для iNils Посетить домашнюю страницу iNils Найти все сообщения от iNils
  № 7  
Ответить с цитированием
iNils
Негуру
 
Аватар для iNils

администратор
Регистрация: Jan 2000
Адрес: Кёнигсберг in Moscow
Сообщений: 21,883
Записей в блоге: 7
Если семерка то надо в первой строке удалить:
Код:
var txt:TextField =
То что дальше оставить
__________________
(и)Нильс.ru | Плагины для FlashDevelop

Старый 06.01.2007, 22:02
Ksюta вне форума Посмотреть профиль Отправить личное сообщение для Ksюta Найти все сообщения от Ksюta
  № 8  
Ответить с цитированием
Ksюta

Регистрация: Dec 2006
Сообщений: 60
Отправить сообщение для Ksюta с помощью ICQ
iNils, сенкс! Так работает даже код из моего первого поста, оказывается всё дело было в этой строчке.

Создать новую тему Ответ Часовой пояс GMT +4, время: 17:59.
Быстрый переход
  « Предыдущая тема | Следующая тема »  

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


 


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


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