Язык версии : | ActionScript 3.0 |
Версии среды выполнения: | Flash Player 10 |
Объект GroupElement группирует коллекцию объектов TextElement, GraphicElement или других объектов GroupElement, которые можно назначить как одно целое свойству
content
объекта TextBlock. Объект GroupElement также может просто использовать общее форматирование с другим элементом GroupElement.
Когда GroupElement содержит другой объект GroupElement, этот внутренний GroupElement сохраняет собственное форматирование (параметры ElementFormat). Он не наследует форматирование внешнего GroupElement.
Большинство свойств форматирования не влияют на GroupElement. По этой причине можно создать текстовую строку для объекта GroupElement, имеющего нулевой параметр elementFormat
. Несколько свойств формата, такие как kerning
и ligature
, все же оказывают влияние на форматирование там, где имеет место пересечение между членами группы. Если группа имеет нулевой формат, то при пересечении членов группы форматирование определяется форматом предшествующего элемента.
Посмотреть примеры
elementCount:int
[только для чтения]
Язык версии : | ActionScript 3.0 |
Версии среды выполнения: | Flash Player 10 |
Количество элементов в группе.
Реализация public function get elementCount():int
public function GroupElement(elements:Vector = null, elementFormat:ElementFormat = null, eventMirror:EventDispatcher = null, textRotation:String = "rotate0")
Язык версии : | ActionScript 3.0 |
Версии среды выполнения: | Flash Player 10 |
Создает новый экземпляр GroupElement.
Параметры | elements:Vector (default = null ) — Вектор объектов ContentElement в GroupElement. Вектор может быть пуст. Значение по умолчанию равно null .
|
|
| elementFormat:ElementFormat (default = null ) — Формат элемента для группы. Значение по умолчанию равно null . Формат применяется к пересечениям элементов в группе, эти элементы не наследуют формат.
|
|
| eventMirror:EventDispatcher (default = null ) — Объект EventDispatcher , получающий копии каждого события, вызванного для текстовых строк, созданных на основе данного элемента содержимого. Значение по умолчанию равно null .
|
|
| textRotation:String (default = "rotate0 ") — При вращении элемент был использован в качестве единого целого. Используйте константы TextRotation для этого свойства. Значение по умолчанию равно TextRotation.ROTATE_0 .
|
Выдает | ArgumentError — Заданный element содержит элементы со значением null .
|
|
| ArgumentError — Заданный element содержит элемент, не являющийся известным подклассом ContentElement .
|
|
| ArgumentError — Заданный element содержит элементы, заданные в качестве значения content объекта TextBlock .
|
|
| ArgumentError — Заданный element содержит элементы, которые уже являются членами группы, либо встречаются более раза в elements .
|
См. также
public function getElementAt(index:int):ContentElement
Язык версии : | ActionScript 3.0 |
Версии среды выполнения: | AIR 1.0, Flash Player 9 |
Возвращает элемент из группы.
Параметры
| index:int — Индекс получаемого элемента.
|
ВозвращаетВыдает public function getElementAtCharIndex(charIndex:int):ContentElement
Язык версии : | ActionScript 3.0 |
Версии среды выполнения: | Flash Player 10 |
Возвращает элемент, содержащий символ, заданный параметром charIndex
.
Параметры
| charIndex:int — Отсчитываемое от нуля значение символа, чей элемент нужно найти. Значение 0 соответствует первому символу в группе, ноне первому символу TextBlock.
|
ВозвращаетВыдает | RangeError — Если charIndex вне диапазона 0 — rawText.length .
|
public function getElementIndex(element:ContentElement):int
Язык версии : | ActionScript 3.0 |
Версии среды выполнения: | Flash Player 10 |
Возвращает элемент, содержащий символ, заданный параметром элемента
.
Параметры
| element:ContentElement — Элемент в группе, чей индекс необходимо возвратить.
|
Возвращает | int — Индекс элемента, заданный свойством element или -1, если элемент вне группы.
|
public function groupElements(beginIndex:int, endIndex:int):GroupElement
Язык версии : | ActionScript 3.0 |
Версии среды выполнения: | Flash Player 10 |
Заменяет диапазон элементов, который задается параметрами beginIndex
и endIndex
для нового GroupElement
с этими элементами. Согласно проекту, заменяются элементы от beginIndex до endIndex-1.
Параметры
| beginIndex:int — Отсчитываемое от нуля значение индекса для начального положения диапазона группировки.
|
|
| endIndex:int — Отсчитываемое от нуля значение индекса, следующее за конечным положением диапазона группировки.
|
ВозвращаетВыдает | RangeError — Если индексы beginIndex или endIndex находятся вне диапазона.
|
public function mergeTextElements(beginIndex:int, endIndex:int):TextElement
Язык версии : | ActionScript 3.0 |
Версии среды выполнения: | Flash Player 10 |
Смешивает текст из диапазона элементов, задаваемого параметрами beginIndex
и endIndex
в элементе, заданном beginIndex
без изменения формата элемента. Согласно проекту, сливаются элементы от beginIndex до endIndex-1. После смешивания текста элементы от beginIndex+1 до endIndex-1 удаляются из группы и для них отменяются родители, значение null
присваивается их свойству group
.
Параметры
| beginIndex:int — Отсчитываемое от нуля значение индекса для начального положения диапазона замены.
|
|
| endIndex:int — Отсчитываемое от нуля значение индекса, следующе за конечным положением диапазона слияния.
|
Возвращает | TextElement — Первый текстовый элемент в диапазоне, теперь содержащим весь текст диапазона.
|
Выдает | RangeError — Если индексы beginIndex или endIndex находятся вне диапазона.
|
|
| ArgumentError — Если какой-либо элемент в диапазоне не является объектом TextElement.
|
См. также
public function replaceElements(beginIndex:int, endIndex:int, newElements:Vector):Vector
Язык версии : | ActionScript 3.0 |
Версии среды выполнения: | Flash Player 10 |
Заменяет диапазон элементов, заданный параметрами beginIndex
и endIndex
, содержанием параметра newElements
. Согласно проекту, заменяются элементы от beginIndex до endIndex-1.
Для создания элементов передайте null
для newElements
.
Для вставки элемента передайте то же значение для beginIndex
и endIndex
. Новый элемент вставляется перед заданным индексом.
Для добавления элемента передайте elementCount
для beginIndex
и endIndex
.
После выполнения операции замещенные элементы лишаются родителей и принимают значение null
для свойств group
.
Параметры
| beginIndex:int — Отсчитываемое от нуля значение индекса для начального положения диапазона замены.
|
|
| endIndex:int — Отсчитываемое от нуля значение индекса, следующее за конечным положением диапазона замены.
|
|
| newElements:Vector — Элементы для замены заданного диапазона элементов.
|
Возвращает | Vector — Вектор, содержащий замещенные элементы.
|
Выдает | RangeError — Заданный параметр beginIndex или endIndex находится за пределами диапазона.
|
|
| ArgumentError — Заданное свойство newElements содержит элементы со значением null .
|
|
| ArgumentError — Заданное свойство newElements содержит элементы this .
|
|
| ArgumentError — Заданное свойство newElements содержит элементы, которые не являются известными подклассами ContentElement .
|
|
| ArgumentError — Заданное свойство newElements содержит элементы, заданные в качестве значения свойства content объекта TextBlock .
|
|
| ArgumentError — Заданное свойство newElements содержит элементы, которые уже являются членами группы, либо встречаются более раза в elements .
|
|
| ArgumentError — Если операция должна привести к вложенным вращениям внутри элемента GroupElement .
|
public function setElements(value:Vector):void
Язык версии : | ActionScript 3.0 |
Версии среды выполнения: | AIR 1.0, Flash Player 9 |
Задает элементы в группе для содержимого вектора.
Параметры
Выдает | ArgumentError — Заданное значение содержит элементы null .
|
|
| ArgumentError — Заданное значение содержит элементы this .
|
|
| ArgumentError — Заданное значение содержит элементы, которые не являются известными подклассами ContentElement .
|
|
| ArgumentError — Заданное значение содержит элементы в виде content , которые не являются известными подклассами TextBlock .
|
|
| ArgumentError — Заданное значение содержит элементы, которые уже являются членами группы, либо встречаются более раза в значении .
|
|
| ArgumentError — Если операция должна привести к вложенным вращениям внутри элемента GroupElement .
|
public function splitTextElement(elementIndex:int, splitIndex:int):TextElement
Язык версии : | ActionScript 3.0 |
Версии среды выполнения: | Flash Player 10 |
Разбивает позицию TextElement в группе на новый TextElement, который вставляется в группу, следующую за указанным элементом TextElement.
Параметры
| elementIndex:int — Отсчитываемый от нуля индекс положения элемента в группе.
|
|
| splitIndex:int — Отсчитываемый от нуля индекс положения элемента в TextElement, где будет производиться разбиение. Заданный символ — это первый символ нового TextElement.
|
Возвращает | TextElement — Новый элемент, содержащий последнюю части исходного текстового элемента.
|
Выдает | RangeError — Если индексы beginIndex или charIndex лежат вне диапазона.
|
|
| ArgumentError — Если элемент по индексу elementIndex не является TextElement.
|
См. также
public function ungroupElements(groupIndex:int):void
Язык версии : | ActionScript 3.0 |
Версии среды выполнения: | Flash Player 10 |
Разгруппировывает элементы во вложенном GroupElement, который задается с помощью groupIndex
внутри внешнего GroupElement. После выполнения операции разгрупированные элементы заменяют вложенный GroupElement, который становится элементом без родителей со значением null
свойства group
.
Параметры
| groupIndex:int — Отсчитываемый от нуля индекс для положения разбиваемой группы.
|
Выдает | RangeError — Если groupIndex вне диапазона.
|
|
| ArgumentError — Если элемент по индексу groupIndex не является объектом GroupElement.
|
В примере создается красная рамка в виде объекта GraphicElement и совмещается с двумя текстовыми элементами для создания объекта GroupElement. Назначает объект GroupElement свойству
content
текстового блока TextBlock, из которого создаются три строки.
package {
import flash.display.Sprite;
import flash.display.MovieClip;
import flash.text.engine.ContentElement;
import flash.text.engine.TextBlock;
import flash.text.engine.TextElement;
import flash.text.engine.GraphicElement;
import flash.text.engine.GroupElement;
import flash.text.engine.TextLine;
import flash.text.engine.ElementFormat;
import flash.text.engine.FontDescription;
public class GroupElementExample extends Sprite {
public function GroupElementExample():void {
var redBox:MovieClip = new MovieClip();
redBox.graphics.beginFill(0xCC0000, 1.0);
redBox.graphics.drawRect(0, 0, 20, 20);
redBox.graphics.endFill();
var format:ElementFormat = new ElementFormat();
var fontDescription:FontDescription = new FontDescription("Arial");
format.fontSize = 16;
format.fontDescription = fontDescription;
var str1:String = "This red box is a GraphicElement ";
var str2:String = " in the middle of two TextElements, " +
" which together make " +
"up a GroupElement in a TextBlock that is broken into three lines.";
var textElement1:TextElement = new TextElement(str1,format);
var graphicElement:GraphicElement = new GraphicElement(redBox,redBox.width,redBox.height, format);
var textElement2:TextElement = new TextElement(str2, format);
var groupVector:Vector.<ContentElement> = new Vector.<ContentElement>();
groupVector.push(textElement1, graphicElement, textElement2);
var groupElement = new GroupElement(groupVector);
var textBlock:TextBlock = new TextBlock();
textBlock.content = groupElement;
createTextLines(textBlock);
}
private function createTextLines(textBlock:TextBlock):void
{
var yPos = 20;
var line_length:Number = 450;
var textLine:TextLine = textBlock.createTextLine (null, line_length);
while (textLine)
{
addChild(textLine);
textLine.x = 15;
yPos += textLine.height+8;
textLine.y = yPos;
textLine = textBlock.createTextLine(textLine, line_length);
}
}
}
}
© 2004-2008 Adobe Systems Incorporated. All rights reserved.
Wed Sep 24 2008, 07:56 AM -07:00