Paket | flashx.textLayout.factory |
Klass | public class TextFlowTextLineFactory |
Arv | TextFlowTextLineFactory TextLineFactoryBase Object |
Språkversion: | ActionScript 3.0 |
Körningsmiljöversioner: | Flash Player 10, AIR 1.5 |
Textraderna är statiska och har skapats för att passa i en enda rektangel, men kan ha flera stycken och format och även inlinegrafik. Om du vill skapa TextLine-objekt direkt från en sträng använder du StringTextLineFactory.
Obs! När du använder inlinegrafik måste egenskapensource
för InlineGraphicElement-objektet antingen vara en instans av ett DisplayObject eller ett Class-objekt som representerar en inbäddad resurs. URLRequest-objekt kan inte användas. Bredd och höjd på inlinegrafiken när raden skapades och som används för att skapa flödet.
Relaterade API-element
Metod | Definieras med | ||
---|---|---|---|
Skapar ett TextFlowTextLineFactory-objekt. | TextFlowTextLineFactory | ||
Skapar TextLine-objekt från det angivna textflödet. | TextFlowTextLineFactory | ||
Den minsta rektangel som det färdigutformade innehållet får plats i. | TextLineFactoryBase | ||
Anger om det finns en egenskap angiven för ett objekt. | Object | ||
Anger om en instans av klassen Object finns i prototypkedjan för objektet som anges som parameter. | Object | ||
Anger om den angivna egenskapen finns och är uppräkningsbar. | Object | ||
Anger tillgänglighet för en dynamisk egenskap för slingåtgärder. | Object | ||
Returnerar det här objektets strängrepresentation, formaterad i enlighet med språkspecifika konventioner. | Object | ||
Returnerar det angivna objektets strängbeteckning. | Object | ||
Returnerar det angivna objektets primitiva värde. | Object |
TextFlowTextLineFactory | () | Konstruktor |
public function TextFlowTextLineFactory()
Språkversion: | ActionScript 3.0 |
Körningsmiljöversioner: | Flash Player 10, AIR 1.5 |
Skapar ett TextFlowTextLineFactory-objekt.
createTextLines | () | metod |
public function createTextLines(callback:Function, textFlow:flashx.textLayout.elements:TextFlow):void
Språkversion: | ActionScript 3.0 |
Körningsmiljöversioner: | Flash Player 10, AIR 1.5 |
Skapar TextLine-objekt från det angivna textflödet.
Textraderna har satts samman för att passa gränserna som tilldelats egenskapen compositionBounds
. Så snart en rad skapas anropar fabriken den funktion som anges i parametern callback
. Den här funktionen skickas till TextLine-objektet och hanterar visningen av raden. Om en rad har en bakgrundsfärg anropar fabriken också callback-funktionen med ett Shape-objekt som innehåller en rektangel med bakgrundsfärgen.
Notera att rullregler för fabriken kommer att kontrollera hur många rader som skapas.
Parametrar
callback:Function — funktion som ska anropas med varje genererat TextLine-objekt. Callback-funktionen anropas med ett Shape-objekt som representerar valfri bakgrundsfärg (om det finns någon) och som har TextLine-objekt för texten.
| |
textFlow:flashx.textLayout.elements:TextFlow — TextFlow-objektet som raderna har skapats från.
|
createTextLines()
, anropas två gånger med samma fras. Fabriksformaten och flödesformaten justeras mellan anropen för att skapa en "skugg"-effekt.
package flashx.textLayout.factory.examples { import flash.display.Sprite; import flash.display.DisplayObject; import flash.geom.Rectangle; import flash.text.engine.TextLine; import flashx.textLayout.elements.ParagraphElement; import flashx.textLayout.elements.SpanElement; import flashx.textLayout.elements.TextFlow; import flashx.textLayout.factory.TextFlowTextLineFactory; import flashx.textLayout.formats.TextLayoutFormat; public class TextFlowTextLineFactory_example extends Sprite { public function TextFlowTextLineFactory_example() { var factory:TextFlowTextLineFactory = new TextFlowTextLineFactory(); factory.compositionBounds = new Rectangle( 100, 100, 200, 130 ); var flow:TextFlow = new TextFlow(); var format:TextLayoutFormat = new TextLayoutFormat(); format.fontFamily = "LilyUPC, Verdana, _sans"; format.fontSize = 32; format.color = 0x000000; format.textAlpha = .5; var span:SpanElement = new SpanElement(); span.text = "The quick brown fox jumped over the lazy dog."; span.format = format; var para:ParagraphElement = new ParagraphElement(); para.addChild( span ); flow.addChild( para ); factory.createTextLines( useTextLines, flow ); factory.compositionBounds = new Rectangle( 99, 99, 200, 130 ); format.color = 0x990000; format.textAlpha = 1; span.format = format; factory.createTextLines( useTextLines, flow ); graphics.beginFill(0x555555,.5); graphics.drawRect( 99, 99, 201, 131 ); graphics.endFill(); } private function useTextLines( lineOrShape:DisplayObject ):void { this.addChild( lineOrShape ); } } }
Tue Jun 12 2018, 01:40 PM Z