Справочник по ActionScript® 3.0 для платформы Adobe® Flash®
Домашняя страница  |  Скрыть список пакетов и классов |  Пакеты  |  Классы  |  Что нового  |  Указатель  |  Приложения  |  Почему по-английски?
Фильтры: Получение данных с сервера...
Получение данных с сервера...
flash.text 

TextLineMetrics  - AS3

Пакетflash.text
Классpublic class TextLineMetrics
НаследованиеTextLineMetrics Inheritance Object

Язык версии: ActionScript 3.0
Версии среды выполнения: AIR 1.0, Flash Player 9, Flash Lite 4

Класс TextLineMetrics содержит данные о положении текста и размерах строки текста в пределах текстового поля. Все размеры измеряются в пикселях. Объекты этого класса возвращаются методом flash.text.TextField.getLineMetrics().

Размеры, связанные с текстовым полем, содержащим строку текста (например, «Высота текстового поля» на рисунке) см. в описании flash.text.TextField.

На следующем рисунке представлены точки и размеры текстового поля и содержащейся в нем строки текста.

Изображение, иллюстрирующее показатели текста

Посмотреть примеры

Связанные элементы API



Общедоступные свойства
 СвойствоОпределено
  ascent : Number
Значение ascent соответствует расстоянию в пикселях от базовой линии до верхнего края строки.
TextLineMetrics
 Inheritedconstructor : Object
Ссылка на объект класса или функцию конструктора для данного экземпляра объекта.
Object
  descent : Number
Значение descent соответствует расстоянию в пикселях от базовой линии до нижнего края строки.
TextLineMetrics
  height : Number
Значение height соответствует высоте в пикселях для текста выбранных строк (необязательно всего текста).
TextLineMetrics
  leading : Number
Значение leading соответствует расстоянию между строками текста.
TextLineMetrics
  width : Number
Значение width соответствует ширине в пикселях для текста выбранных строк (необязательно всего текста).
TextLineMetrics
  x : Number
Значение x соответствует положению первого символа слева (в пикселях).
TextLineMetrics
Общедоступные методы
 МетодОпределено
  
TextLineMetrics(x:Number, width:Number, height:Number, ascent:Number, descent:Number, leading:Number)
Создает объект TextLineMetrics.
TextLineMetrics
 Inherited
Показывает, определено ли заданное свойство для объекта.
Object
 Inherited
Показывает, есть ли экземпляр класса Object в цепи прототипов объекта, заданного в качестве параметра.
Object
 Inherited
Показывает наличие заданного свойства и его перечисляемость.
Object
 Inherited
Задает доступность динамического свойства для операций цикла.
Object
 Inherited
Возвращает строковое представление этого объекта, отформатированного в соответствии со стандартами, принятыми для данной локали.
Object
 Inherited
Возвращает строковое представление заданного объекта.
Object
 Inherited
Возвращает элементарное значение заданного объекта.
Object
Сведения о свойстве

ascent

свойство
public var ascent:Number

Язык версии: ActionScript 3.0
Версии среды выполнения: AIR 1.0, Flash Player 9, Flash Lite 4

Значение ascent соответствует расстоянию в пикселях от базовой линии до верхнего края строки. См. «Верхний выносной элемент» в обзорном рисунке для данного класса.

Связанные элементы API

descent

свойство 
public var descent:Number

Язык версии: ActionScript 3.0
Версии среды выполнения: AIR 1.0, Flash Player 9, Flash Lite 4

Значение descent соответствует расстоянию в пикселях от базовой линии до нижнего края строки. См. «Нижний выносной элемент» в обзорном рисунке для данного класса.

Связанные элементы API

height

свойство 
public var height:Number

Язык версии: ActionScript 3.0
Версии среды выполнения: AIR 1.0, Flash Player 9, Flash Lite 4

Значение height соответствует высоте в пикселях для текста выбранных строк (необязательно всего текста). Высота строки текста не включает высоту промежуточного поля. См. «Высота строки» в обзорном рисунке для данного класса.

Связанные элементы API

leading

свойство 
public var leading:Number

Язык версии: ActionScript 3.0
Версии среды выполнения: AIR 1.0, Flash Player 9, Flash Lite 4

Значение leading соответствует расстоянию между строками текста. См. «Интервал» в обзорном рисунке для данного класса.

Связанные элементы API

width

свойство 
public var width:Number

Язык версии: ActionScript 3.0
Версии среды выполнения: AIR 1.0, Flash Player 9, Flash Lite 4

Значение width соответствует ширине в пикселях для текста выбранных строк (необязательно всего текста). Ширина строки текста не равна ширине текстового поля. Ширина строки текста определяется относительно ширины текстового поля минус ширина промежуточного поля, равного 4 пикселям (по 2 пикселя с каждой стороны). См. «Ширина строки текста» в обзорном рисунке для данного класса.

Связанные элементы API

x

свойство 
public var x:Number

Язык версии: ActionScript 3.0
Версии среды выполнения: AIR 1.0, Flash Player 9, Flash Lite 4

Значение x соответствует положению первого символа слева (в пикселях). Это значение включает значения ширины полей, отступов (если они есть) и промежуточного поля. См. «Положение строки текста по оси х» в обзорном рисунке для данного класса.

Связанные элементы API

Сведения о конструкторе

TextLineMetrics

()Конструктор
public function TextLineMetrics(x:Number, width:Number, height:Number, ascent:Number, descent:Number, leading:Number)

Язык версии: ActionScript 3.0
Версии среды выполнения: AIR 1.0, Flash Player 9, Flash Lite 4

Создает объект TextLineMetrics. Объект TextLineMetrics содержит данные о размерах строки текста в пределах текстового поля. Объекты этого класса возвращаются методом flash.text.TextField.getLineMetrics().

См. рисунок в описании этого класса, где данные свойства представлены в контексте.

Параметры
x:Number — Положение первого символа с левого края (в пикселях).
 
width:Number — Ширина в пикселях для текста выбранных строк (необязательно всего текста).
 
height:Number — Высота в пикселях для текста выбранных строк (необязательно всего текста).
 
ascent:Number — Длина в пикселях от основной линии до верхней точки строки.
 
descent:Number — Длина в пикселях от основной линии до нижней точки строки.
 
leading:Number — Расстояние между строками текста по вертикали.

Связанные элементы API

TextLineMetricsExample.as

В следующем примере создаются классы TextLineMetricsExample и LineMetricsReader для вывода сообщения в проигрывателе Flash Player посредством объекта XML. Это можно сделать, выполнив следующие действия:
  1. Создайте свойство типа TextField с именем label.
  2. Конструктор вызывает метод configureAssets(), который выполняет следующие задачи:
    • задает выравнивание монтажного стола по верхнему и левому краям и запрещает масштабирование;
    • создает новый объект TextField с именем label;
    • включает фон для label и задает ему белый цвет;
    • разрешает тексту объекта label занимать несколько линий с автоматическим переносом слов;
    • назначает результат вызова метода getLabelText() свойству text объекта label; метод getLabelText() создает переменную типа XML и назначает ее узлу XML с именемbody, который заполняется длинными предложением;
    • добавляет объект label в список отображения с помощью метода addChild().
  3. Затем добавляется метод, который прослушивает события resize, происходящие на монтажном столе, и называется resizeHandler(). Каждый раз, когда изменяется размер окна проигрывателя Flash Player, отправляется событие RESIZE, затем происходит следующее.
    • Вызывается метод draw(), чтобы объект label находился в центре рабочей области и был окружен буфером с шириной, равной десяти пикселям.
    • Затем метод setTimeout() вызывает showMetrics() после короткой задержки. Задержка добавляется, так как показатели линии обновляются только после завершения события RESIZE и повторной отрисовки монтажного стола.
    • Метод showMetrics() назначает переменную TextLineMetrics с именем metrics результату вызова getLineMetrics(), после чего эта переменная передается новому экземпляру LineMetricsReader с именем reader. Затем эти две переменные используются в вызовах метода trace() для вывода первой (и единственной) строки объекта label и сведений, переданных экземпляром LineMetricsReader с помощью метода toString().
  4. Конструктор инициирует одну отправку события resize чтобы обеспечить правильную отрисовку объекта label при первой загрузке SWF-файла.
package {
    import flash.display.Sprite;
    import flash.display.StageAlign;
    import flash.display.StageScaleMode;
    import flash.events.*;
    import flash.text.TextField;
    import flash.text.TextLineMetrics;
    import flash.utils.setTimeout;

    public class TextLineMetricsExample extends Sprite {
        private var gutter:int = 10;
        private var label:TextField;

        public function TextLineMetricsExample() {
            configureAssets();
            configureListeners();
            resizeHandler(new Event(Event.RESIZE));
        }

        private function showMetrics():void {
            var metrics:TextLineMetrics = label.getLineMetrics(0);
            var reader:LineMetricsReader = new LineMetricsReader(metrics);
            trace("lineText: " + label.getLineText(0));
            trace("metrics: " + reader);
        }

        private function configureAssets():void {
            stage.align = StageAlign.TOP_LEFT;
            stage.scaleMode = StageScaleMode.NO_SCALE;

            label = new TextField();
            label.background = true;
            label.backgroundColor = 0xFFFFFF;
            label.multiline = true;
            label.wordWrap = true;
            label.text = getLabelText();
            addChild(label);
        }

        private function configureListeners():void {
            stage.addEventListener(Event.RESIZE, resizeHandler);
        }

        private function resizeHandler(event:Event):void {
            draw();
            setTimeout(showMetrics, 100);
        }

        private function draw():void {
            label.x = gutter;
            label.y = gutter;
            label.width = stage.stageWidth - (gutter * 2);
            label.height = stage.stageHeight - (gutter * 2);
        }

        private function getLabelText():String {
            var text:XML = <body>The Flex product line enables developers to build rich Internet applications that blend the responsiveness of desktop software, the cross-platform reach of the web, and the expressiveness of the Flash Platform.</body>
            return text.toString();
        }
    }
}

import flash.text.TextLineMetrics;

class LineMetricsReader {
    private var metrics:TextLineMetrics;

    public function LineMetricsReader(metrics:TextLineMetrics) {
        this.metrics = metrics;
    }

    public function toString():String {
        return "[TextLineMetrics ascent:" + metrics.ascent
            + ", descent:" + metrics.descent
            + ", leading:" + metrics.leading
            + ", width:" + metrics.width
            + ", height:" + metrics.height
            + ", x:" + metrics.x
            + "]";
    }
}




[ X ]Почему по-английски?
Содержимое Справочника ActionScript 3.0 отображается на английском языке

Не все части Справочника ActionScript 3.0 переводятся на все языки. Если какой-то текстовый элемент не переведен, он отображается на английском языке. Например, компонент ga.controls.HelpBox не переведен ни на один из языков. Это значит, что в русской версии справки компонент ga.controls.HelpBox будет отображаться на английском языке.