Главная | Обратная связь | Поможем написать вашу работу!
МегаЛекции

Создание и отображение текста

Текстовые поля

Отображение и ввод текста

Набор возможностей API для работы с текстом можно разбить на следующие общие категории:

· управление текстом, отображаемым на экране;

· форматирование текста;

· установка параметров отображения текста для модуля FlashType;

· управление шрифтами (например, определение доступных шрифтов);

· получение метрик текста (характеристик);

· предоставление константных значений.

Все классы API для работы с текстом находятся в пакете flash.text.

Таблица 1. Обзор API для работы с текстом

Назначение Класс Описание

Управление текстом, 

отображаемым на экране

TextField Представляет следующие типы текстовых полей. 1. Текстовые поля, создаваемые из кода на языке ActionScript. 2. Текстовые поля типа «динамический текст» или «вводимый текст», создаваемые в среде разработки Flash
StaticText Представляет текстовые поля типа static, создаваемые в среде разработки Flash
TextSnapshot Строка, содержащая текст из всех статических текстовых полей экземпляра класса DisplayObjectContainer

Форматирование текста

TextFormat Простой класс данных, представляющий информацию о форматировании символов
Stylesheet Представляет таблицу стилей, содержащую информацию о форматировании символов

Установка параметров

отображения текста для

модуля FlashType

CSMSettings Простой класс данных, используемый для предоставления модулю отображения текста FlashType приложения Flash Player заданных параметров сглаживания для отображения определенного шрифта определенного размера. Применяется вместе со статическим методом setAdvancedAntiAliasingTable() класса TextRenderer
TextRenderer Управляет настройками отображения для модуля FlashType приложения Flash Player
Управление шрифтами Font Предоставляет доступ к списку шрифтов, установленных в системе или внедренных в SWF- файлы, и регистрирует шрифты, загружаемые на этапе выполнения
Получение характеристик текста TextLineMetrics Описывает характеристики для одной строки текста в поле
Предоставление  константных значений AntiAliasType, FontStyle, FontType, GridFitType, TextColorType, TextDisplayMode, TextFieldAutoSize, TextFieldType, TextFormatAlign Определяют константы, применяемые для указания различных значений переменных и параметров в API для работы с текстом

В таблице 2 представлен краткий обзор классов API для работы с текстом, которые просто обеспечивают доступ к специальным значениям через константы класса.

Таблица 2. Классы API для работы с текстом, содержащие константные значения

Назначение Класс Описание
Константы, используемые при выборе модуля отображения текста AntiAliasType Определяет константы, которые описывают типы сглаживания. Применяется вместе с переменной экземпляра antiAliasType класса TextField

Константы, применяемые

при установке значений

модуля отображения

FlashType

FontStyle Определяет константы, которые описывают вариации шрифта (например, полужирный, курсив). Применяется вместе со статическим методом setAdvancedAntiAliasingTable() класса TextRenderer и переменной экземпляра fontStyle класса Font
GridFitType Определяет константы, которые описывают типы подбора по сетке элементов растра. Используется с переменной экземпляра gridFitType класса TextField
TextColorType Определяет константы, которые описывают типы цвета текста (темный или светлый). Применяется вместе со статическим методом setAdv ancedAntiAliasingTable() класса TextRenderer
TextDisplayMode Определяет константы, которые описывают типы межпикселного сглаживания. Применяется вместе со статической переменной displayMode класса TextRenderer

Константы, используемые

при установке 

параметров текстовых полей

TextFieldAutoSize Определяет константы, которые описывают параметры автоматического изменения размеров. Применяется вместе с переменной экземпляра autoSize класса TextField
TextFieldType Определяет константы, которые описывают типы текстовых полей (dynamic или input). Используется вместе с переменной экземпляра type класса TextField
Константы, используемые при получении списков шрифтов FontType Определяет константы, которые описывают типы местоположений шрифтов (системные или внедренные). Применяется вместе со статическим методом enumerateFonts() класса Font
Константы, используемые при установке  выравнивания текста TextFormatAlign Определяет константы, которые описывают типы выравнивания текста (то есть по центру, по левому краю, по правому краю или по ширине). Применяется вместе с переменной экземпляра align класса TextFormat

Создание и отображение текста

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

Создать объект класса TextField с именем t:

var t:TextField = new TextField();

Обратиться к тексту текстового поля можно посредством свойства text:

t.text = "Hello world";

Добавление в список отображения для отображения на экране:

некийКонтейнер.addChild (t);

Пример 1. Отображение текста

package {

import flash.display.*;

import flash.text.*; // Импортируем класс TextField и другие классы,

                         // размещенные в пакете flash.text

public class Example extends Sprite

 {

public function Example ()

{

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

  var t:TextField = new TextField();

  // Указываем текст для отображения

   t.text = "Hello world";

// Добавляем объект TextField в список отображения

addChild(t);

t.x = 200;

t.y = 100;

}

 }

}

Ширина и высота прямоугольной области отображения текстового поля могут быть указаны явно с помощью свойств width и height класса Text Field:

t.width = 200;

t.height = 50;

По умолчанию прямоугольная область отображения поля не показывается на экране. Тем не менее можно сделать ее видимой, присвоив свойствам background и border класса TextFie l d значение true. Свойство background определяет, требуется ли заливка прямоугольной области отображения текстового поля сплошным цветом.

Свойство border указывает, нужно ли показывать линию толщиной 1 пиксел вокруг прямоугольной области отображения текстового поля. Цвет фона и границы задаются путем присваивания 24-битных значений RGB-цвета свойствам backgroundColor и borderColor.

Пример 2. Отображение текста с границей и фоном.

package {

import flash.display.*;

import flash.text.*; // Импортируем класс TextField и другие классы,

                          // размещенные в пакете flash.text

public class Example extends Sprite

 {

public function Example()

 {

var t:TextField = new TextField(); // Создаем объект TextField

t.text = "Hello world"; // Указываем текст

                            // для отображения

  t.background = true; // Включаем отображение фона

  t.backgroundColor = 0хСССССС; // В качестве цвета фона указываем

                                                     // светло-серый цвет

  t.border = true; // Включаем отображение границы

t.borderColor = 0x333333; // В качестве цвета границы указываем

                                      // темно-серый цвет

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

  }

}

}

Перенос слов

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

Чтобы предотвратить скрытие текста, ширина которого оказывается больше ширины прямоугольной области отображения текстового поля, можно включить возможность автоматического добавления разрывов строк в текстовом поле, присвоив свойству wordWrap класса TextFie l d значение true. Когда возможность автоматического добавления разрывов строк включена, происходит мягкий перенос длинных строк текста, то есть любая строка, ширина которой оказывается больше ширины прямоугольной области отображения данного текстового поля, будет автоматически перенесена на следующую строку. Например, следующий код включает возможность автоматического добавления разрывов строк для объекта TextField t:

t. wordWrap = true;

Поделиться:





Воспользуйтесь поиском по сайту:



©2015 - 2024 megalektsii.ru Все авторские права принадлежат авторам лекционных материалов. Обратная связь с нами...