Paket | flashx.textLayout.factory |
Klasse | public class TextFlowTextLineFactory |
Vererbung | TextFlowTextLineFactory TextLineFactoryBase Object |
Sprachversion: | ActionScript 3.0 |
Laufzeitversionen: | Flash Player 10, AIR 1.5 |
Die erstellten Textzeilen sind statisch und passen in ein einzelnes Begrenzungsrechteck, können jedoch mehrere Absätze und Formate sowie Inline-Grafiken enthalten. Um TextLine-Objekte direkt aus einem String zu erstellen, verwenden Sie StringTextLineFactory.
Hinweis: Wenn Sie Inline-Grafiken verwenden, muss die source
-Eigenschaft des InlineGraphicElement-Objekts entweder eine Instanz eines DisplayObjects oder ein Class-Objekt sein, das ein eingebettetes Element repräsentiert. URLRequest-Objekte können nicht verwendet werden. Die Breite und Höhe der Inline-Grafik zum Zeitpunkt der Erstellung wird zum Zusammenstellen des Flusses verwendet.
Verwandte API-Elemente
Methode | Definiert von | ||
---|---|---|---|
Erstellt ein TextFlowTextLineFactory-Objekt. | TextFlowTextLineFactory | ||
Erstellt TextLine-Objekte aus dem festgelegten Textfluss. | TextFlowTextLineFactory | ||
Das kleinste Rechteck, in das der formatierte Inhalt passt. | TextLineFactoryBase | ||
Gibt an, ob für ein Objekt eine bestimmte Eigenschaft definiert wurde. | Object | ||
Gibt an, ob eine Instanz der Object-Klasse in der Prototypkette des Objekts vorhanden ist, das als Parameter angegeben wurde. | Object | ||
Gibt an, ob die angegebene Eigenschaft vorhanden ist und durchlaufen werden kann. | Object | ||
Legt die Verfügbarkeit einer dynamischen Eigenschaft für Schleifenoperationen fest. | Object | ||
Gibt die Stringdarstellung dieses Objekts zurück, formatiert entsprechend den Konventionen des Gebietsschemas. | Object | ||
Gibt das angegebene Objekt als String zurück. | Object | ||
Gibt den Grundwert des angegebenen Objekts zurück. | Object |
TextFlowTextLineFactory | () | Konstruktor |
public function TextFlowTextLineFactory()
Sprachversion: | ActionScript 3.0 |
Laufzeitversionen: | Flash Player 10, AIR 1.5 |
Erstellt ein TextFlowTextLineFactory-Objekt.
createTextLines | () | Methode |
public function createTextLines(callback:Function, textFlow:flashx.textLayout.elements:TextFlow):void
Sprachversion: | ActionScript 3.0 |
Laufzeitversionen: | Flash Player 10, AIR 1.5 |
Erstellt TextLine-Objekte aus dem festgelegten Textfluss.
Die Textzeilen werden so zusammengestellt, dass sie in die Abgrenzungen passen, die der compositionBounds
-Eigenschaft zugewiesen wurden. Bei der Erstellung der Zeilen ruft die Factory die im callback
-Parameter festgelegte Funktion auf. Das TextLine-Objekt wird an diese Funktion übergeben und diese steuert die Anzeige der Zeile. Wenn eine Zeile über eine Hintergrundfarbe verfügt, ruft die Factory ebenfalls die Rückruffunktion mit einem Shape-Objekt auf, das ein Rechteck in der Hintergrundfarbe enthält.
Beachten Sie, dass die Bildlaufrichtlinien der Factory steuern, wie viele Zeilen generiert werden.
Parameter
callback:Function — Funktion, die mit jedem erstellten TextLine-Objekt aufgerufen wird. Der Rückruf wird mit einem Shape-Objekt, das eine Hintergrundfarbe (falls vorhanden) darstellt, und mit den TextLine-Objekten für den Text durchgeführt.
| |
textFlow:flashx.textLayout.elements:TextFlow — Der TextFlow, aus dem die Zeilen erstellt werden.
|
createTextLines()
wird zweimal mithilfe der gleichen Zeile aufgerufen. Die Factory-Eigenschaften und Textflussformate werden zwischen Aufrufen angepasst, um einen Schlagschatteneffekt zu erstellen.
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, 10:04 AM Z