Руководство по actionscript. часть 5, стр. 128

Отсутствующие шрифты и глифы

Как мы узнали ранее, если при отображении текстового поля с помощью шрифтов устройства шрифт для некоторого символа не установлен в операционной системе конечного пользователя, приложение Flash Player автоматически попросит ее отобразить символ с помощью подходящего замещающего шрифта.

В отличие от этого, если текстовое поле отображается с помощью встраиваемых шрифтов и шрифт для некоторого символа недоступен в списке встроенных шрифтов, приложение Flash Player сначала попытается отобразить этот символ с использованием любой доступной вариации указанного шрифта. Например, рассмотрим следующий код, который использует две вариации шрифта Verdana:

var t:TextField = new TextField( ); t. embedFonts = true;

t. html Text = «Hellо World«; .

Обратите внимание, что для слова «Не11о» указана вариация шрифта Verdana обычного начертания, а для слова «world» указана вариация шрифта Verdana полужирного начертания. Если на этапе выполнения вариация встроенного шрифта Verdana полужирного начертания окажется недоступной, но при этом доступной окажется вариация встроенного шрифта Verdana обычного начертания, текст «Hello world» будет полностью отображен с использованием вариации шрифта Verdana обычного начертания. Однако если не будут доступны ни вариация обычного начертания, ни вариация полужирного начертания шрифта Verdana, символы не будут отображены вообще и никакой текст на экране не появится!

4Г*

м*4

Если при использовании встраиваемых шрифтов текст в вашем приложении таинственным образом исчезает или отображается с помощью неправильной вариации шрифта, Э# то, скорее всего, оказались недоступны необходимые шрифты. Чтобы определить, какие шрифты доступны на этапе выполнения, используйте статический метод enumerateFonts() класса Font, рассматриваемый в разд. «Определение доступности шрифта».

Если при использовании встраиваемых шрифтов текстовое поле содержит символ, глиф которого отсутствует в указанном шрифте, этот символ отображен не будет. В отличие от этого, если при использовании шрифтов устройства текстовое поле содержит символ, глиф которого отсутствует в указанном шрифте, приложение Flash Player автоматически выполнит поиск замещающего шрифта, содержащего отсутствующий глиф. Если такой шрифт будет найден, то символ будет отображен с помощью замещающего шрифта. Если замещающий шрифт найден не будет, то символ не будет отображен на экране.

Если переменной embedFonts объекта TextField присвоено значение true, но программа не предоставляет никакой информации по форматированию этого объ-

екта, Flash Player попытается отобразить его содержимое с помощью встроенного шрифта, имя которого совпадает с именем шрифта, используемого по умолчанию в текущей среде (в операционной системе Microsoft Windows таким шрифтом является Times New Roman). Если такого встроенного шрифта не существует, то текст не будет выведен на экран.

Руководство по actionscript. часть 5, стр. 129

Определение доступности шрифта

Чтобы на этапе выполнения определить список доступных шрифтов устройства и встроенных шрифтов, используйте статический метод enumerateFonts ( ) класса Font. Метод enumerateFonts ( ) возвращает массив объектов Font, каждый из которых представляет доступный шрифт устройства или встроенный шрифт. Метод enumerateFonts ( ) определяет единственный параметр типа Boolean enumerateDeviceFonts, который указывает, должен ли возвращаемый массив включать шрифты устройства. По умолчанию параметру enumerateDeviceFonts присвоено значение false, поэтому массив, возвращаемый методом enumerateFonts ( ), не включает шрифты устройства. Каждый объект Font в возвращаемом массиве определяет следующие переменные, описывающие представляемый шрифт.

? fontName — имя шрифта. Для шрифтов устройства переменная fontName содержит имя, которое отображается в списке системных шрифтов. Для шрифтов, встраиваемых через среду разработки Flash, переменная fontName содержит имя, которое отображается в списке Font (Шрифт) окна Font Symbol Properties (Свойства символа шрифта), применяемого для встраивания шрифта. Для шрифтов, встраиваемых с помощью тега метаданных [Embed], переменная fontName содержит строковое значение, которое указывается для параметра fontFamily тега [Embed], применяемого для встраивания шрифта.

? fontStyle — вариация шрифта (обычное начертание, полужирное начертание, курсив или полужирный курсив) в виде одной из четырех следующих констант языка ActionScript: FontStyle. REGULAR, FontStyle. BOLD, FontStyle. ITALIC, FontStyle. BOLD_ITALIC.

? f ontType — тип шрифта: встроенный или шрифт устройства. Эта переменная ссылается на одну из двух следующих констант языка ActionScript: FontType. EMBEDDED или FontType. DEVICE.

В листинге 27.16 представлен код, генерирующий список всех доступных встроенных шрифтов, отсортированных в алфавитном порядке.

Листинг 27.16. Перечисление всех встроенных шрифтов

var fonts:Array = Font. enumerateFonts( ); fonts. sortOn(«fontName». Array. CASE INSENSITIVE); for (var i:int = 0; i < fonts.length; i++) { trace(fonts[i].fontname + ", " + fonts[i].fontstyle);

}

В листинге 27.17 продемонстрирован код, генерирующий список всех доступных шрифтов устройства, которые отсортированы в алфавитном порядке.

Листинг 27.17. Перечисление всех шрифтов устройства

var fonts:Array = Font. enumerateFonts(true); fonts. sortOnC»fontName». Array. CASEINSENSITIVE); for (var i:int = 0; i < fonts.length; i++) { if (fonts[i].fonttype == fonttype.device) { trace(fonts[i].fontname + ". " + fonts[i].fontstyle);

}

}

В листинге 27.18 представлен код, генерирующий список всех доступных встроенных шрифтов и шрифтов устройства, отсортированных в алфавитном порядке.

Руководство по actionscript. часть 5, стр. 130

Листинг 27.18. Перечисление всех встроенных шрифтов и шрифтов устройства

var fonts:Array = Font. enumerateFonts(true); fonts. sortOn(«fontName». Array. CASEINSENSITIVE); for (var i:int = 0; i < fonts.length; i++) { trace(fonts[i].fonttype + ": "

+ fonts[i].fontName + «. » + fonts[i].fontStyle);

}

Функция enumerateFonts ( ) может быть использована, чтобы дать возможность пользователю выбирать шрифты приложения или автоматически выбирать резервный шрифт, как показано в листинге 27.19.

Листинг 27.19. Автоматический выбор резервного шрифта

package { import flash. display.*; import flash. text.*;

public class FontFallbackDemo extends Sprite { public function FontFallbackDemo ( ) { var format-.TextFormat = new TextFormat( );

// Присваивает первый доступный шрифт

format. font = getFont(["ZapfChancery". "Verdana". "Arial". "_sans"]);

var t:TextField = new TextField( ); t. text = «ActionScript is fun!»; t. autoSize = TextFieldAutoSize. LEFT; t. setTextFormat(format)

addChild(t);

}

// Из передаваемого списка шрифтов возвращает имя первого шрита

// в списке, который доступен либо в качестве встроенного шрифта, либо

// в качестве шрифта устройства

public function getFont (fontList: Array)-.String {

var availableFonts:Array = Font. enumerateFonts(true);

for (var i:int = 0; i < fontlist.length; i++) { for (var j:int = 0; j < availablefonts.length; j++) {

if (fontl_ist[i] == Font(avai 1 ableFontsCj]).fontName) { return fontl_ist[i];

return null;

Определение доступности глифа

Чтобы определить, имеет ли некий встроенный шрифт глиф для указанного символа или набора символов, мы используем метод экземпляра hasGlyphs ( ) класса Font. Принимая строковый аргумент, этот метод возвращает значение типа Boolean, которое указывает, имеет ли шрифт все глифы, необходимые для отображения данной строки.

Руководство по actionscript. часть 5, стр. 131

Метод экземпляра hasGlyphs() класса Font работает только со встраиваемыми шрифтами. Не существует способа, позволяющего определить, имеет ли некий шрифт устройства глиф для указанного символа.

Чтобы воспользоваться методом hasGlyphs ( ), мы должны сначала получить ссылку на объект Font для интересующего нас шрифта. Для этого мы применяем цикл for, чтобы осуществить поиск в массиве, возвращаемом методом enumerateFonts ( ). Например, следующий код получает ссылку на объект Font для шрифта Verdana и присваивает ее переменной font:

var fontName:String = «Verdana»; var font:Font;

var fonts:Array = Font. enumerateFonts(true); for (var i:int = 0; i < fonts.length; i++) { if (fonts[i].fontname == fontname) { font = fonts[i];

Как только будет получена ссылка на желаемый объект Font, мы можем использовать метод hasGlyphs ( ), чтобы проверить, имеет ли соответствующий шрифт все глифы, необходимые для отображения некоторой строки. Например, следующий код проверяет, можно ли с помощью шрифта Verdana отобразить строку «Hello world» на английском языке:

trace(font. hasGlyphs(«Hei 1 о world»)); // Выводит: true

Следующий код проверяет, можно ли с помощью шрифта Verdana отобразить строку «й^-А/йсЕЛл C/ulCtp[?» на японском языке: trace(font. hasGlyphs(^/u&c?/iA C/ulCtili)); // Выводит: false

break;

Отображение текста с помощью встраиваемых шрифтов

Как бы удивительно это ни звучало, для объектов TextField, переменной embedFonts которых присвоено значение true, приложение Flash Player предоставляет два различных режима отображения текста. Названия этих режимов звучат достаточно размыто: обычный и расширенный.

В обычном режиме приложение Flash Player отображает текст с помощью стандартного визуализатора векторной графики, который применяется для отображения всех векторных фигур в SWF-файле. Стандартный визуализатор векторной графики рисует текст с использованием алгоритма сглаживания, который характеризуется высокой скоростью и создает гладкие линии. Текст, отображаемый с помощью стандартного визуализатора векторной графики, обычно получается четким и разборчивым при средних и больших размерах шрифта (приблизительно 16 пунктов и выше), однако при малых размерах шрифта (12 пунктов и меньше) текст оказывается размытым и неразборчивым.

Руководство по actionscript. часть 5, стр. 132

В расширенном режиме приложение Flash Player выводит текст с помощью специализированного визуализатора текста, называемого визуализатором FlashType. Визуализатор FlashType — это лицензированная реализация системы Saffron Type System, созданной лабораторией Mitsubishi Electric Research Laboratories (MERL). Визуализатор FlashType специально разработан для того, чтобы обеспечивать четкую визуализацию типов фигур, которые часто встречаются в шрифтах небольших размеров.

В настоящее время наилучшие результаты при использовании визуализатора FlashType достигаются для западных шрифтов, нежели для азиатских. Тем не менее азиатский текст, отображаемый с помощью визуализатора FlashType, все равно оказывается более разборчивым, чем текст, отображаемый с помощью стандартного визуализатора векторной графики приложения Flash Player.

Текст, выводимый с помощью визуализатора FlashType, обычно получается более разборчивым, чем текст, выводимый с помощью стандартного визуализатора векторной графики приложения Flash Player. Кроме того, при небольших размерах шрифта визуализатор FlashType отображает текст быстрее, чем стандартный визуализатор векторной графики приложения Flash Player. Тем не менее при больших размерах шрифта отображение текста с помощью визуализатора FlashType занимает значительно больше времени, чем отображение текста с помощью стандартного визуализатора векторной графики приложения Flash Player.

Я 4

Дополнительную информацию о системе Saffron Type System можно получить в официальном обзоре проекта Saffron компании Mitsubishi, доступном по адресу http://www. S?’ merl. com/projects/ADF-Saffron, а также в технической презентации проекта Saffron Рональда Перри (Ronald Perry), доступной по адресу http://www. merl. com/people/perry/ SaffronOverview. ppt.

Разработчики могут выбирать любой из двух режимов визуализации текста приложения Flash Player динамически на этапе выполнения для каждого текстового

поля по отдельности. Чтобы приложение Flash Player отображало некоторый объект TextField с помощью стандартного визуализатора векторной графики, присвойте переменной antiAliasType данного объекта значение AntiAliasType. NORMAL. Например, следующий код создает объект TextField, а затем говорит приложению Flash Player отобразить этот объект с помощью встроенных шрифтов, используя стандартный визуализатор векторной графики. Обратите внимание, что помимо присваивания значения переменной antiAliasType этот код присваивает переменной embedFonts объекта TextField значение true. Режимы визуализации текста приложения Flash Player применяются только к тексту, отображаемому с помощью встраиваемых шрифтов.

// Создаем объект TextField

var t:TextField = new TextField( );

// Говорим приложению Flash Player отобразить это текстовое поле // с помощью встроенных шрифтов t. embedFonts = true;

// Говорим приложению Flash Player использовать стандартный визуализатор // векторной графики для отображения этого текстового поля t. antiAliasType = AntiAliasType. NORMAL;

В отличие от этого, следующий код создает объект TextField, а затем говорит приложению Flash Player отобразить этот объект с помощью встроенных шрифтов, используя визуализатор FlashType:

// Создаем объект TextField

var t:TextField = new TextField( );

// Говорим приложению Flash Player отобразить это текстовое поле // с помощью встроенных шрифтов t. embedFonts = true;

// Говорим приложению Flash Player использовать визуализатор FlashType // для отображения этого текстового поля t. antiAliasType = AntiAliasType. ADVANCED;

По умолчанию переменной antiAliasType присвоено такое значение, как AntiAliasType. NORMAL (стандартный визуализатор векторной графики).

Руководство по actionscript. часть 5, стр. 133

По умолчанию приложение Flash Player отображает объекты TextField, переменной А ^ embedFonts которых присвоено значение true, с помощью стандартного визуализатора щ< векторной графики.

На рис. 27.13 показан английский алфавит, для отображения которого с помощью шрифта Verdana размером 10 пунктов использовались оба визуализатора: визуализатор FlashType (слева) и стандартный визуализатор векторной графики (справа). На экране алфавит, отображенный с помощью визуализатора FlashType, в значительной степени более разборчив, чем алфавит, отображенный с помощью стандартного визуализатора векторной графики приложения Flash Player.

Для справки в листинге 27.20 показан код, который применялся для создания демонстрационных алфавитов, изображенных на рис. 27.13.

FlashType Стандартный визуализатор векторной графики

a bed ef g h ij kl m nopq rstu vwxy z abcdefghijklmnopqrstuvwxyz

Рис. 27.13. Визуализатор FlashType в сравнении со стандартным визуализатором векторной графики приложения Flash Player

Листинг 27.20. Визуализатор FlashType в сравнении со стандартным визуализатором векторной графики приложения Flash Player

package { import flash. display.*; import flash. text.*;

public class FlashTypeDemo extends Sprite { // Прямые слэши необходимы, однако регистр символов роли не играет. [Embed(source="c:/wi ndows/fonts/verdana. ttf",

fontFamily="Verdana")] private var verdana:Class;

public function FlashTypeDemo ( ) { // Визуализатор FlashType var t:TextField = new TextField( ); t. width = 200; t. embedFonts = true;

t. htmlText = «»

+ «abedefghijklmnopqrstuvwxyz»; t. antiAliasType = AntiAliasType. ADVANCED; addChild(t);

// Стандартный визуализатор векторной графики

var t2:TextField = new TextField( );

t2.width = 200;

t2.embedFonts = true;

t2.htmlText = «»

+ «abedefghijklmnopqrstuvwxyz»; t2.antiAliasType = AntiAliasType. NORMAL; addChild(t2); t2.x = 180;

}

}

}

I Чтобы достичь наилучшего качества анимационного текста, используйте стандарт-1$ л щ ный визуализатор векторной графики (присвойте переменной antiAliasType значение AntiAliasType. NORMAL). Чтобы добиться наилучшей разборчивости текста, используйте визуализатор FlashType (присвойте переменной antiAliasType значение AntiAliasTypeADVANCED).

Руководство по actionscript. часть 5, стр. 134

Обратите внимание, что, если текст наклонен или перевернут, его отображение с помощью визуализатора FlashType автоматически отменяется.

Настройка визуализатора FlashType. Привлекательность и разборчивость текста — это весьма субъективные понятия. Язык ActionScript предлагает ряд расширенных инструментов для точной настройки конкретного поведения визуализатора FlashType.

Хотя детальное рассмотрение возможных настроек визуализатора Flash Туре выходит за рамки данной книги, для ознакомления в табл. 27.9 перечислены доступные инструменты и их основное назначение. Для дальнейшего изучения обратитесь к описанию каждого инструмента в справочнике по языку ActionScript корпорации Adobe.

Таблица 27.9. Переменные и методы, используемые для настройки параметров визуализатора FlashType

Переменная или метод Описание

Переменная экземпляра sharpness класса TextField Определяет резкость текста в текстовом поле. Может принимать целочисленные значения в диапазоне от -400 (размытый) до 400 (резкий)

Переменная экземпляра thickness класса TextField Указывает толщину линий текста в текстовом поле. Может принимать целочисленные значения в диапазоне от -200 (тонкий) до 200 (толстый). Если переменной thickness поля присвоить большое значение, текст этого поля примет полужирное начертание

Переменная экземпляра gridFitType класса TextField Определяет параметры хинтования на уровне пикселов, влияющие на разборчивость текста при различном выравнивании (по левому краю, по центру или по правому краю). Хинтование — это методика, с помощью которой ножки отображаемого глифа размещаются на целых пикселах, улучшая его читабельность

Статическая переменная displayMode класса TextRenderer Настраивает алгоритм сглаживания визуализатора FlashType, улучшая результаты либо для ЖК-, либо для ЭЛТ-мониторов. Этот параметр применяется глобально ко всему тексту, отображаемому с помощью визуализатора FlashType

Статическая переменная maxLevel класса TextRenderer Определяет уровень качества адаптивно выбираемых интервалов полей (Adaptjvely Sampled Distance Fields — ADFs) (часть внутренней структуры визуализатора FlashType для описания контуров глифов). Этот параметр применяется глобально ко всему тексту, отображаемому с помощью визуализатора FlashType (однако Flash Player автоматически увеличивает значение этого параметра для любого отдельного глифа, размер шрифта которого превышает 64 пиксела). Большие значения снижают производительность

Статический метод setAdv ancedAntiAliasingTable() Присваивает значения, которые точно определяют вес и резкость конкретного шрифта при использовании указанного размера, стиля и типа цвета (светлый или темный)

Теперь перейдем от вопросов, связанных с форматированием и шрифтами, к вопросам получения данных через текстовые поля.

Руководство по actionscript. часть 5, стр. 135

Ввод через текстовые поля

Текстовые поля могут получать разнообразные виды пользовательского ввода, включая ввод и выделение текста, активизацию гипертекстовой ссылки, фокус ввода с клавиатуры, прокрутку и взаимодействие с мышью. В этом разделе мы познакомимся

с вводом, выделением текста и гипертекстовыми ссылками. Информацию о фокусе ввода с клавиатуры, прокрутке и взаимодействию с мышью можно найти в гл. 22.

Ввод текста

Способность каждого текстового поля получать пользовательский ввод определяется значением переменной type этого поля. По умолчанию для текстовых полей, создаваемых с помощью кода на языке ActionScript, переменной экземпляра type присваивается значение TextFieldType. DYNAMIC — это значит, что текст может изменяться с помощью кода на языке ActionScript, при этом пользователь не может вносить изменения в текст. Чтобы текстовое поле могло получать пользовательский ввод, мы должны присвоить переменной type значение TextFieldType. INPUT, как показано в следующем коде:

var t:TextField = new TextField( ); t. type = TextFieldType. INPUT;

Когда переменной type объекта TextField присвоено значение TextFieldType. INPUT, пользователь может добавлять или удалять текст из этого текстового поля. Любые изменения, вносимые пользователем, автоматически отражаются переменными text и htmlText.

Чтобы получать уведомления о внесении пользователем изменений в текстовое поле, мы можем зарегистрировать в этом текстовом поле приемники для событий TextEvent. TEXT_INPUT и Event. CHANGE. Диспетчеризация события TextEvent. TEXT INPUT происходит в том случае, когда пользователь пытается изменить текст в текстовом поле, перед тем как будут обновлены значения переменных text и htmlText. Диспетчеризация события Event. CHANGE происходит после того, как в ответ на пользовательский ввод будут обновлены значения переменных text и htmlText. Подробную информацию по событиям TextEvent. TEXT_INPUT и Event. CHANGE можно найти в гл. 22.

По умолчанию пользователям не разрешается вводить разрывы строк в текстовые поля. Чтобы разрешить это (например, в результате нажатия клавиши Enter), присвойте переменной multiline значение true, как показано в следующем коде:

var t:TextField = new TextFi el d( ): t. type = TextFieldType. INPUT; t. multiline = true;

Чтобы ограничить набор символов, которые пользователь может вводить в текстовое поле, используйте переменную экземпляра restrict класса TextField. Например, следующее текстовое поле позволяет вводить только цифры, что может потребоваться для поля ввода номера кредитной карты:

var t:TextField = new TextFi el d( );

t. width = 200;

t. height = 20:

t. border = true;

t. background = true;

t. type = TextFieldType. INPUT;

t. restrict = «0-9″;

Чтобы ограничить количество символов, которое пользователь может ввести в текстовое поле, используйте переменную экземпляра maxChars класса TextField. Например, следующее текстовое поле позволяет ввести только восемь символов, что может потребоваться для поля ввода имени на форме регистрации:

var t:TextField = new TextField( ):

t. width = 100:

t. height = 20:

t. border = true:

t. background = true:

t. type = TextFieldType. INPUT:

t. maxChars = 8;

Для сокрытия всех вводимых символов с целью защиты экрана используйте переменную экземпляра displayAsPassword класса TextField. Когда переменной displayAsPas sword присвоено значение true, все символы отображаются в виде звездочек (*). Например, слова «hi there» отображаются в виде «********>>. Это позволяет пользователю вводить текст, не беспокоясь о том, что посторонний человек сможет его увидеть. Следующий код демонстрирует текстовое поле, которое скрывает символы, что может потребоваться для поля ввода пароля на форме регистрации:

var t:TextFi eld = new TextField( );

t. width = 100;

t. height = 20;

t. border = true;

t. background = true;

t. type = TextFieldType. INPUT;

t. displayAsPassword = true;

Форматирование пользовательского ввода. По умолчанию новый текст, вводимый пользователем, автоматически принимает форматирование символа, находящегося перед точкой вставки, или символа, находящегося в позиции 0, если новый текст добавляется перед этой позицией. Если поле было пустым, новый текст форматируется в соответствии с используемым по умолчанию форматом данного поля (который задается через переменную def aultTextFormat, как было рассмотрено ранее в разд. «Форматирование по умолчанию для текстовых полей» разд. «Форматирование текстовых полей»).

Руководство по actionscript. часть 5, стр. 136

Чтобы переопределить автоматическое форматирование, применяемое к новому текстовому вводу, выполните такую последовательность действий.

1. Перехватите ввод с помощью события TextEvent. TEXT_INPUT.

2. Вручную добавьте эквивалентный текст.

3. Примените форматирование к тексту, вставленному вручную.

Эта методика продемонстрирована в листинге 27.21, представляющем пример класса FormattedlnputDemo. Понять код вам помогут комментарии.

Листинг 27.21. Форматирование пользовательского ввода

package { import flash. display.*; import flash. text.*; import flash. events.*;

public class FormattedInputDemo extends Sprite { public function FormattedlnputDemo ( ) { // Создаем объекты TextFormat var boldFormat-.TextFormat = new TextFormat( ); boldFormat. bold = true;

var italicFormat:TextFormat = new TextFormat( ); italicFormat. italic = true;

// Создаем текстовое поле

var t:TextField = new TextField( );

t. text = «lunchtime»;

// Форматируем слово «lunch» с использованием курсива t. setTextFormatUtalicFormat. 0. 5);

// Форматируем слово «time», используя полужирное начертание t. setTextFormat(boldFormat. 5. 9); t. type = TextFieldType. INPUT;

// Регистрируем приемник для событий TextEvent. TEXT_INPUT // в объекте t

t. addEventLi stener(TextEvent. TEXT_INPUT. textInputLi stener);

// Добавляем текстовое поле в список отображения addChild(t);

}

// Вызывается всякий раз. когда пользователь пытается добавить // новый текст в объект t

private function textlnputListener (e:TextEvent):void { // Получаем ссылку на текстовое поле, получившее ввод var t:TextField = TextField(e. target);

// Предотвращаем добавление текста, введенного пользователем // в текстовое поле e. preventDefault( );

// Добавляем текст, введенный пользователем вручную. В этом случае // происходит немедленное обновление переменной text объекта // TextField. позволяя нам отформатировать новый текст внутри // данной функции.

Руководство по actionscript. часть 5, стр. 137

T. replaceText(t. caretlndex. t. caretlndex. e. text):

// Устанавливаем форматирование для нового текста var regularFormat-.TextFormat = new TextFormat( ); regularFormat. bold = false; regularFormat. italic = false; t. setTextFormat(regularFormat.

t. caretlndex.

t. ca retIndex+e. text.1ength)

// Устанавливаем точку вставки в конец нового текста, чтобы // пользователь считал, что это он ввел текст

var newCaretIndex:int = t. caretlndex + e. text. length; t. setSelection(newCaretIndex, newCaretlndex);

}

}

}

Выделение текста

По умолчанию текст во всех текстовых полях, создаваемых программным путем, может быть выделен пользователем. Чтобы отключить возможность выделения для некоторого поля, присвойте переменной selectable значение false. Обычно выделение текстового поля показывается только в том случае, когда данное поле имеет фокус. Чтобы выделение текстового поля отображалось даже в тех случаях, когда текстовое поле не имеет фокуса, присвойте переменной alwaysShowSelection значение true. В приложении Flash Player 9 установить цвет выделения невозможно; поддержка настраиваемого цвета выделения может быть реализована в будущих версиях приложения Flash Player.



Полезные ссылки
Случайные записи
  • 15.01.2010">Flash сайты
  • 14.03.2011">Руководство по actionscript. часть 3, стр. 076
  • 18.03.2014">Как бросить курить и не поправиться
  • 23.01.2011">Руководство по actionscript. часть 1, стр. 034
  • 15.06.2010">Самоучитель по креативному веб-дизайну. Книга 4, стр.43
  • 11.05.2010">Самоучитель по креативному веб-дизайну. Книга 1, стр.20
  • 04.06.2010">Самоучитель по креативному веб-дизайну. Книга 3, стр.28
  • 18.03.2011">Руководство по actionscript. часть 2, стр. 110
  • 19.03.2011">Руководство по actionscript. часть 2, стр. 089
  • 03.06.2010">Самоучитель по креативному веб-дизайну. Книга 3, стр.73
  • 03.06.2010">Самоучитель по креативному веб-дизайну. Книга 3, стр.69
  • 17.05.2010">Самоучитель по креативному веб-дизайну. Книга 2, стр.129
  • 22.01.2011">Руководство по actionscript. часть 1, стр. 098
  • 13.06.2010">Самоучитель по креативному веб-дизайну. Книга 4, стр.87
  • 20.07.2012">YouTube представил инструмент для размытия лиц
Опрос

Какие цвета вы предпочитаете?

View Results

Loading ... Loading ...