Язык версии : | ActionScript 3.0 |
Версии среды выполнения: | Flash Player 10 |
Класс TextLineMirrorRegion представляет фрагмент текстовой строки, события которой зеркально отображаются в другом отправителе событий.
Чтобы упростить кодирование интерактивного поведения, текстовый процессор генерирует дополнительные события mouseOver
и mouseOut
для зеркальных областей по мере перехода мыши от одного зеркала строки к другому.
События rollOver
и rollOut
не отправляются в зеркальные области. Вследствие взаимодействия между зеркальными областями, графическими элементами и строкой, эти события могут быть, в лучшем случае, несогласованными.
Нельзя создать объект TextLineMirrorRegion непосредственно из кода ActionScript. При вызове функции new TextLineMirrorRegion()
, выдается исключение. Объект TextLineMirrorRegion можно создать при назначении зеркала события для объекта ContentElement.
Класс TextLineMirrorRegion является конечным, его нельзя разбить на подклассы.
Посмотреть примеры
bounds:Rectangle
[только для чтения]
Язык версии : | ActionScript 3.0 |
Версии среды выполнения: | Flash Player 10 |
Границы зеркальной области относительно строки текста.
Реализация public function get bounds():Rectangle
element:ContentElement
[только для чтения]
Язык версии : | ActionScript 3.0 |
Версии среды выполнения: | Flash Player 10 |
Объект ContentElement
, на основе которого создается зеркальная область.
Реализация public function get element():ContentElement
Выдает mirror:EventDispatcher
[только для чтения]
Язык версии : | ActionScript 3.0 |
Версии среды выполнения: | Flash Player 10 |
Объект EventDispatcher
, который зеркально отображает события, затрагивающие зеркальную область. Он включает события мыши, которые происходят в зеркальной области, а также все остальные события, нацеленные на текстовую строку.
Реализация public function get mirror():EventDispatcher
nextRegion:TextLineMirrorRegion
[только для чтения]
Язык версии : | ActionScript 3.0 |
Версии среды выполнения: | Flash Player 10 |
Следующий объект TextLineMirrorRegion в группе, производной от текстового элемента, или null
, если текущая область является последней зеркальной областью в наборе. Может быть на той же или на другой строке текста.
Реализация public function get nextRegion():TextLineMirrorRegion
previousRegion:TextLineMirrorRegion
[только для чтения]
Язык версии : | ActionScript 3.0 |
Версии среды выполнения: | Flash Player 10 |
Предыдущий объект TextLineMirrorRegion в группе, производной от текстового элемента, или null
, если текущая область является первой зеркальной областью в наборе. Может быть на той же или на другой строке текста.
Реализация public function get previousRegion():TextLineMirrorRegion
textLine:TextLine
[только для чтения]
Язык версии : | ActionScript 3.0 |
Версии среды выполнения: | Flash Player 10 |
Объект TextLine, содержащий эту зеркальную область.
Реализация public function get textLine():TextLine
В этом примере показан блок текста с зеркальными областями, которые становятся красными при щелчке мыши.
package {
import flash.display.Sprite;
import flash.text.engine.TextBlock;
import flash.text.engine.TextLine;
import flash.text.engine.TextElement;
import flash.text.engine.ElementFormat;
import flash.text.engine.FontDescription;
import flash.text.engine.ContentElement;
import flash.text.engine.GroupElement;
import flash.text.engine.TextLineMirrorRegion;
import flash.events.MouseEvent;
import flash.events.EventDispatcher;
import flash.ui.Mouse;
public class TextLineMirrorRegionExample extends Sprite {
var myEvent:EventDispatcher = new EventDispatcher();
var fontDescription:FontDescription = new FontDescription();
var textBlock:TextBlock = new TextBlock();
public function TextLineMirrorRegionExample():void {
fontDescription.fontWeight = "bold";
var blackFormat:ElementFormat = new ElementFormat();
blackFormat.fontSize = 18;
blackFormat.color = 0x000000;
blackFormat.fontDescription = fontDescription;
var textElement1 = new TextElement("Click on different parts of me to find the ", blackFormat);
var textElement2 = new TextElement("mirror regions",blackFormat);
var textElement3 = new TextElement(". If I am a mirror region, I'll ",blackFormat);
var textElement4 = new TextElement("turn red",blackFormat);
var textElement5 = new TextElement(".",blackFormat);
myEvent.addEventListener("click", clickHandler);
myEvent.addEventListener("mouseOut", mouseOutHandler);
myEvent.addEventListener("mouseOver", mouseOverHandler);
var groupVector:Vector.<ContentElement> = new Vector.<ContentElement>;
groupVector.push(textElement1, textElement2, textElement3, textElement4, textElement5);
var groupElement:GroupElement = new GroupElement(groupVector);
textElement2.eventMirror=myEvent;
textElement4.eventMirror=myEvent;
textBlock.content = groupElement;
createLines(textBlock);
}
private function clickHandler(event:MouseEvent):void
{
var redFormat:ElementFormat = new ElementFormat();
redFormat.color = 0xCC0000;
redFormat.fontSize = 18;
redFormat.fontDescription = fontDescription;
var line:TextLine = event.target as TextLine;
var region:TextLineMirrorRegion = line.getMirrorRegion(myEvent);
region.element.elementFormat = redFormat;
createLines(textBlock);
}
private function mouseOverHandler(event:MouseEvent):void
{
Mouse.cursor = "button";
}
private function mouseOutHandler(event:MouseEvent):void
{
Mouse.cursor = "arrow";
}
private function createLines(textBlock:TextBlock):void
{
var purgeLine:TextLine = textBlock.firstLine;
while (purgeLine)
{
removeChild (purgeLine);
purgeLine = purgeLine.nextLine;
}
var lineWidth:Number = 150;
var xPos:Number = 15.0;
var yPos:Number = 20.0;
var textLine:TextLine = textBlock.createTextLine (null, lineWidth);
while (textLine)
{
textLine.x = xPos;
textLine.y = yPos;
yPos += textLine.height + 2;
addChild (textLine);
textLine = textBlock.createTextLine (textLine, lineWidth);
}
}
}
}
© 2004-2008 Adobe Systems Incorporated. All rights reserved.
Wed Sep 24 2008, 07:56 AM -07:00