ActionScript® 3.0 Referenzhandbuch für die Adobe® Flash®-Plattform
Home  |  Liste der Pakete und Klassen ausblenden |  Pakete  |  Klassen  |  Neue Funktionen  |  Stichwortverzeichnis  |  Anhänge  |  Warum auf Englisch?
Filter: Daten werden vom Server abgerufen...
Daten werden vom Server abgerufen...
flash.text.engine 

TextBlock  - AS3

Paketflash.text.engine
Klassepublic final class TextBlock
VererbungTextBlock Inheritance Object

Sprachversion: ActionScript 3.0
Laufzeitversionen: Flash Player 10, AIR 1.5, Flash Lite 4

Die TextBlock-Klasse dient zur Erstellung von TextLine-Objekten, die wiedergegeben werden können, indem Sie sie auf der Anzeigeliste platzieren.

Die TextBlock-Klasse ist so konzipiert, dass sie einen einzelnen Absatz enthält, da die bidirektionalen und Zeilenumbruch-Unicode-Algorithmen jeweils für einen Absatz gelten. Für Anwendungen, die mehrere Textabsätze zusammenstellen, verwenden Sie eine Markup-Sprache oder Textanalyse, um den Text in Absätze zu unterteilen und dann einen TextBlock pro Absatz zu erstellen.

Das TextBlock-Objekt speichert seinen Inhalt in der content-Eigenschaft, die eine Instanz der ContentElement-Klasse ist. Da Sie keine Instanz der ContentElement-Klasse erstellen können, legen Sie content auf eine Instanz einer ihrer Unterklassen fest: TextElement, GraphicElement oder GroupElement. Verwenden Sie TextElement für reine Textinhalte, GraphicElement für Bild- oder Grafikelemente und GroupElement für Inhalte, die aus einer Kombination von TextElement-, GraphicElement- und anderen GroupElement-Objekten bestehen. Weitere Informationen zum Verwalten von formatierten Textfolgen, eingebetteten Unterfolgen und grafischen Elementen finden Sie in der Beschreibung der ContentElement-Klasse und ihrer Unterklassen.

Nachdem Sie die TextBlock-Instanz erstellt und die content-Eigenschaft eingestellt haben, rufen Sie die createTextLine()-Methode auf, um Textzeilen zu erstellen, die Instanzen der TextLine-Klasse sind.

Beispiele anzeigen

Verwandte API-Elemente



Öffentliche Eigenschaften
 EigenschaftDefiniert von
  applyNonLinearFontScaling : Boolean
Gibt an, dass Sie das Bildschirmerscheinungsbild auf Kosten der WYSIWYG-Drucktreue verbessern möchten (WYSIWYG = What you see is what you get, engl. für Was Sie sehen, ist das, was Sie bekommen).
TextBlock
  baselineFontDescription : FontDescription
Die Schriftart, die verwendet wird, um die Grundlinie für alle im Block erstellten Zeilen festzulegen, unabhängig von ihrem Inhalt.
TextBlock
  baselineFontSize : Number
Die Schriftgröße wird verwendet, um die Grundlinien der im Block erstellten Zeilen zu berechnen.
TextBlock
  baselineZero : String
Gibt an, welche Grundlinie sich für Zeilen, die in diesem Block erstellt werden, bei y=0 befindet.
TextBlock
  bidiLevel : int
Gibt die bidirektionale Absatzeinbettungsebene des Textblocks an.
TextBlock
 Inheritedconstructor : Object
Ein Verweis auf das Klassenobjekt oder die Konstruktorfunktion für eine angegebene Objektinstanz.
Object
  content : ContentElement
Enthält den Inhalt des Textblocks.
TextBlock
  firstInvalidLine : flash.text.engine:TextLine
[schreibgeschützt] Identifiziert die erste Zeile im Textblock, in der TextLine.validity nicht TextLineValidity.VALID entspricht.
TextBlock
  firstLine : flash.text.engine:TextLine
[schreibgeschützt] Die erste TextLine im TextBlock, falls vorhanden.
TextBlock
  lastLine : flash.text.engine:TextLine
[schreibgeschützt] Die letzte TextLine im TextBlock, falls vorhanden.
TextBlock
  lineRotation : String
Dreht die Textzeilen im Textblock als eine Einheit.
TextBlock
  tabStops : Vector.<flash.text.engine:TabStop>
Gibt die Tabstopps für den Text im Textblock in Form eines Vektors von TabStop-Objekten an.
TextBlock
  textJustifier : flash.text.engine:TextJustifier
Gibt den TextJustifier an, der bei der Zeilenerstellung verwendet werden soll.
TextBlock
  textLineCreationResult : String
[schreibgeschützt] Gibt das Ergebnis einer createTextLine()-Methode an.
TextBlock
  userData : *
Ermöglicht der Anwendung, beliebige Daten mit dem Textblock zu verknüpfen.
TextBlock
Öffentliche Methoden
 MethodeDefiniert von
  
TextBlock(content:ContentElement = null, tabStops:Vector.<flash.text.engine:TabStop> = null, textJustifier:flash.text.engine:TextJustifier = null, lineRotation:String = "rotate0", baselineZero:String = "roman", bidiLevel:int = 0, applyNonLinearFontScaling:Boolean = true, baselineFontDescription:FontDescription = null, baselineFontSize:Number = 12.0)
Erstellt ein TextBlock-Objekt.
TextBlock
  
createTextLine(previousLine:flash.text.engine:TextLine = null, width:Number = 1000000, lineOffset:Number = 0.0, fitSomething:Boolean = false):flash.text.engine:TextLine
Weist den Textblock an, eine Textzeile aus dem Inhalt zu erstellen, die beim durch den previousLine-Parameter angegebenen Punkt beginnt und am vom width-Parameter angegebenen Punkt umbrochen wird.
TextBlock
  
Gibt den zugrundeliegenden Inhalt des TextBlock als XML-String aus.
TextBlock
  
findNextAtomBoundary(afterCharIndex:int):int
Sucht den Index der nächsten Atomgrenze ab dem angegebenen Zeichenindex, wobei das Zeichen beim angegebenen Index nicht eingeschlossen wird.
TextBlock
  
findNextWordBoundary(afterCharIndex:int):int
Sucht den Index der nächsten Wortgrenze ab dem angegebenen Zeichenindex, wobei das Zeichen beim angegebenen Index nicht eingeschlossen wird.
TextBlock
  
Sucht den Index der vorherigen Atomgrenze bis zum angegebenen Zeichenindex, wobei das Zeichen beim angegebenen Index nicht eingeschlossen wird.
TextBlock
  
Sucht den Index der vorherigen Wortgrenze bis zum angegebenen Zeichenindex, wobei das Zeichen beim angegebenen Index nicht eingeschlossen wird.
TextBlock
  
Gibt die TextLine zurück, die das vom charIndex-Parameter angegebene Zeichen enthält.
TextBlock
 Inherited
Gibt an, ob für ein Objekt eine bestimmte Eigenschaft definiert wurde.
Object
 Inherited
Gibt an, ob eine Instanz der Object-Klasse in der Prototypkette des Objekts vorhanden ist, das als Parameter angegeben wurde.
Object
 Inherited
Gibt an, ob die angegebene Eigenschaft vorhanden ist und durchlaufen werden kann.
Object
  
recreateTextLine(textLine:flash.text.engine:TextLine, previousLine:flash.text.engine:TextLine = null, width:Number = 1000000, lineOffset:Number = 0.0, fitSomething:Boolean = false):flash.text.engine:TextLine
Weist den Textblock an, eine vorhandene Textzeile zu verwenden, um eine Textzeile aus dem Inhalt zu erstellen, die beim durch den previousLine-Parameter angegebenen Punkt beginnt und am vom width-Parameter angegebenen Punkt umbrochen wird.
TextBlock
  
Weist den Textblock an, alle temporären Daten, die mit dem Erstellen von Textzeilen verknüpft sind, freizugeben.
TextBlock
  
Entfernt einen Bereich von Textzeilen aus der Liste der vom TextBlock verwalteten Zeilen.
TextBlock
 Inherited
Legt die Verfügbarkeit einer dynamischen Eigenschaft für Schleifenoperationen fest.
Object
 Inherited
Gibt die Stringdarstellung dieses Objekts zurück, formatiert entsprechend den Konventionen des Gebietsschemas.
Object
 Inherited
Gibt das angegebene Objekt als String zurück.
Object
 Inherited
Gibt den Grundwert des angegebenen Objekts zurück.
Object
Eigenschaftendetails

applyNonLinearFontScaling

Eigenschaft
applyNonLinearFontScaling:Boolean

Sprachversion: ActionScript 3.0
Laufzeitversionen: Flash Player 10, AIR 1.5, Flash Lite 4

Gibt an, dass Sie das Bildschirmerscheinungsbild auf Kosten der WYSIWYG-Drucktreue verbessern möchten (WYSIWYG = What you see is what you get, engl. für Was Sie sehen, ist das, was Sie bekommen). Für Plattformen und Schriftarten, die die Subpixel-Glyphpositionierung während des Rendering nicht unterstützen, aber nicht-lineares Skalieren unterstützen, wird die Verwendung dieser Metriken auf Kosten der WYSIWYG-Drucktreue, besonders für kleine Schriften, aktiviert, wenn diese Eigenschaft auf den Wert true eingestellt wird. Die nicht-lineare Schriftskalierung wird durch selektives Skalieren der Breite einzelner Glyphen erzielt, um unansehnliche Lücken, die durch Ausrichten an Pixeln entstehen, auszugleichen.

Auf Plattformen, die die Subpixel-Glyphpositionierung unterstützen, wird dieser Kennzeichner ignoriert.

Dieser Kennzeichner hat keine Auswirkungen auf das Rendering eingebetteter Schriftarten

Der Standardwert ist true.



Implementierung
    public function get applyNonLinearFontScaling():Boolean
    public function set applyNonLinearFontScaling(value:Boolean):void

baselineFontDescription

Eigenschaft 
baselineFontDescription:FontDescription

Sprachversion: ActionScript 3.0
Laufzeitversionen: Flash Player 10, AIR 1.5, Flash Lite 4

Die Schriftart, die verwendet wird, um die Grundlinie für alle im Block erstellten Zeilen festzulegen, unabhängig von ihrem Inhalt. Grundlinien sind von der Schriftart und der Schriftgröße abhängig.

Der Standardwert ist null. Wenn die Grundlinienschriftart null ist, wird die Grundlinienschriftgröße ignoriert und die Grundlinie für jede gegebene Zeile basiert auf der Schriftart und -größe des größten Texts in der Zeile. Wenn Sie sowohl baselineFontDescription als auch baselineFontSize, angeben, bestimmen sie die Grundlinien für alle Zeilen im Textblock, unabhängig von ihrem Inhalt. Diese Kombination ist meistens in der asiatischen Typografie hilfreich.



Implementierung
    public function get baselineFontDescription():FontDescription
    public function set baselineFontDescription(value:FontDescription):void

Verwandte API-Elemente

baselineFontSize

Eigenschaft 
baselineFontSize:Number

Sprachversion: ActionScript 3.0
Laufzeitversionen: Flash Player 10, AIR 1.5, Flash Lite 4

Die Schriftgröße wird verwendet, um die Grundlinien der im Block erstellten Zeilen zu berechnen. Grundlinien sind von der Schriftart und der Schriftgröße abhängig.

Der Standardwert ist 12. Wenn die Grundlinienschriftart null ist, wird die Grundlinienschriftgröße ignoriert und die Grundlinie für jede gegebene Zeile basiert auf der Schriftart und -größe des größten Texts in der Zeile.



Implementierung
    public function get baselineFontSize():Number
    public function set baselineFontSize(value:Number):void

Auslöser
ArgumentError — Die angegebene baselineFontSize ist kleiner als 0.

Verwandte API-Elemente

baselineZero

Eigenschaft 
baselineZero:String

Sprachversion: ActionScript 3.0
Laufzeitversionen: Flash Player 10, AIR 1.5, Flash Lite 4

Gibt an, welche Grundlinie sich für Zeilen, die in diesem Block erstellt werden, bei y=0 befindet. Gültige Werte für diese Eigenschaft enthalten die Mitglieder der TextBaseline-Klasse.

Der Standardwert ist TextBaseline.ROMAN.

Wenn Sie Werte für diese Eigenschaft definieren möchten, verwenden Sie die folgenden Stringwerte:

StringwertBeschreibung
TextBaseline.ROMANDie Roman-Grundlinie der Zeilen befindet sich bei y=0.
TextBaseline.ASCENTDie Oberlängen-Grundlinie der Zeilen befindet sich bei y=0.
TextBaseline.DESCENTDie Unterlängen-Grundlinie der Zeilen befindet sich bei y=0.
TextBaseline.IDEOGRAPHIC_TOPDie obere ideografische Grundlinie der Zeilen befindet sich bei y=0.
TextBaseline.IDEOGRAPHIC_CENTERDie mittlere ideografische Grundlinie der Zeilen befindet sich bei y=0.
TextBaseline.IDEOGRAPHIC_BOTTOMDie untere ideografische Grundlinie der Zeilen befindet sich bei y=0.



Implementierung
    public function get baselineZero():String
    public function set baselineZero(value:String):void

Auslöser
ArgumentError — Falls ein Wert verwendet wird, der kein Mitglied von TextBaseline ist.

Verwandte API-Elemente

bidiLevel

Eigenschaft 
bidiLevel:int

Sprachversion: ActionScript 3.0
Laufzeitversionen: Flash Player 10, AIR 1.5, Flash Lite 4

Gibt die bidirektionale Absatzeinbettungsebene des Textblocks an. Im Allgemeinen sollten Sie 0 für LTR-Absätze (von links nach rechts; Englisch, Japanisch usw.) und 1 für RTL-Absätze (von rechts nach links; Arabisch, Hebräisch usw.) verwenden. Die Verwendung von anderen Werten als 0 oder 1 ist für Sonderfälle reserviert - siehe UAX#9, "Unicode Bidirectional Algorithm" (http://www.unicode.org/reports/tr9/).

Der Standardwert ist 0.

Wenn Sie die bidiLevel-Eigenschaft ändern, ändert sich die Gültigkeit aller zuvor umbrochener Zeilen zu TextLineValidity.INVALID. Nachdem bidiLevel geändert wurde, entspricht die firstInvalidLine-Eigenschaft der firstLine-Eigenschaft und Sie müssen alle Zeilen im TextBlock neu umbrechen.



Implementierung
    public function get bidiLevel():int
    public function set bidiLevel(value:int):void

Auslöser
ArgumentError — Bei der Einstellung auf einen Wert, der kleiner als 0 ist.

Verwandte API-Elemente


Beispiel  ( Verwendung dieses Beispiels )
In diesem Beispiel wird derselbe Text (logische Reihenfolge: a, b, c, alef, bet, gimel) zuerst mit einem geraden Wert für bidiLevel und dann mit einem ungeraden Wert fürbidiLevel wiedergegeben.
package {
    
    import flash.display.Sprite;
    import flash.text.engine.TextBlock;
    import flash.text.engine.TextElement;
    import flash.text.engine.TextLine;
    import flash.text.engine.ElementFormat;
    import flash.text.engine.FontDescription;
    
    public class TextBlock_bidiLevelExample extends Sprite {
        
        public function TextBlock_bidiLevelExample():void {             
            var fontSize:Number = 36;

            var format:ElementFormat = new ElementFormat();        
            format.fontDescription = new FontDescription("Adobe Hebrew");
            format.fontSize = fontSize;
            var y:Number = 0;
            var leading:Number = fontSize * 0.2;
            var text:String = "abc" + String.fromCharCode(0x05D0, 0x05D1, 0x05D2);

            var textBlock:TextBlock = new TextBlock();
            textBlock.content = new TextElement(text, format);
                        
            // bidiLevel even
            textBlock.bidiLevel = 0;
            var textLine = textBlock.createTextLine(null, 400);
            y += leading + textLine.ascent;
            textLine.y = y;
            y += textLine.descent;
            addChild(textLine);      
            
            // bidiLevel odd
            textBlock.content = new TextElement(text, format);
            textBlock.bidiLevel = 1;
            textLine = textBlock.createTextLine(null, 400);
            y += leading + textLine.ascent;          
            textLine.y = y;
            addChild(textLine);   
        }
    }
}

content

Eigenschaft 
content:ContentElement

Sprachversion: ActionScript 3.0
Laufzeitversionen: Flash Player 10, AIR 1.5, Flash Lite 4

Enthält den Inhalt des Textblocks. Da ContentElement eine Basisklasse ist, weisen Sie content eine Instanz einer ContentElement-Unterklasse zu: TextElement, GraphicElement oder GroupElement. Ein TextElement enthält einen String, ein GraphicElement enthält ein DisplayObject und ein GroupElement enthält ein Vektor-Objekt, das ein oder mehrere TextElement-, GraphicElement- oder andere GroupElement-Objekte enthält. Verwenden Sie ein TextElement für einen Absatz mit homogenem Text, ein GraphicElement für eine Grafik und ein GroupElement für eine Kombination aus Text- und Grafikelemente oder mehreren Instanzen desselben Elements sowie anderen GroupElement-Objekten.

Der Standardwert ist null.

Wenn Sie die content-Eigenschaft ändern, ändert sich die Gültigkeit aller zuvor erstellten Zeilen zu TextLineValidity.INVALID. Nachdem content geändert wurde, entspricht die firstInvalidLine-Eigenschaft der firstLine-Eigenschaft und Sie müssen alle Zeilen im TextBlock neu umbrechen.



Implementierung
    public function get content():ContentElement
    public function set content(value:ContentElement):void

Auslöser
ArgumentError — Wenn dies auf einen Wert eingestellt ist, der keine bekannte Unterklasse von ContentElement ist.
 
ArgumentError — Der angegebene value ist bereits Mitglied einer Gruppe.

Verwandte API-Elemente

firstInvalidLine

Eigenschaft 
firstInvalidLine:flash.text.engine:TextLine  [schreibgeschützt]

Sprachversion: ActionScript 3.0
Laufzeitversionen: Flash Player 10, AIR 1.5, Flash Lite 4

Identifiziert die erste Zeile im Textblock, in der TextLine.validity nicht TextLineValidity.VALID entspricht.

Der Standardwert ist null.



Implementierung
    public function get firstInvalidLine():flash.text.engine:TextLine

Verwandte API-Elemente

firstLine

Eigenschaft 
firstLine:flash.text.engine:TextLine  [schreibgeschützt]

Sprachversion: ActionScript 3.0
Laufzeitversionen: Flash Player 10, AIR 1.5, Flash Lite 4

Die erste TextLine im TextBlock, falls vorhanden.

Der Standardwert ist null.



Implementierung
    public function get firstLine():flash.text.engine:TextLine

Verwandte API-Elemente

lastLine

Eigenschaft 
lastLine:flash.text.engine:TextLine  [schreibgeschützt]

Sprachversion: ActionScript 3.0
Laufzeitversionen: Flash Player 10, AIR 1.5, Flash Lite 4

Die letzte TextLine im TextBlock, falls vorhanden.

Der Standardwert ist null.



Implementierung
    public function get lastLine():flash.text.engine:TextLine

Verwandte API-Elemente

lineRotation

Eigenschaft 
lineRotation:String

Sprachversion: ActionScript 3.0
Laufzeitversionen: Flash Player 10, AIR 1.5, Flash Lite 4

Dreht die Textzeilen im Textblock als eine Einheit. Rufen Sie die createTextLine()-Methode auf, nachdem Sie lineRotation eingestellt haben, damit dies wirksam wird. Der Standardwert ist TextRotation.ROTATE_0.

Die endgültige Drehung einer Glyphe richtet sich nach den Werten für ElementFormat.textRotation, ContentElement.textRotation und TextBlock.lineRotation.

TextBlock.lineRotation wird normalerweise für asiatischen Text verwendet. Um einen Absatz mit senkrechtem japanischen Text zu erstellen, gehen Sie folgendermaßen vor:

  1. Setzen Sie die TextBlock.lineRotation-Eigenschaft auf TextRotation.ROTATE_90.
  2. Übernehmen Sie für die ElementFormat.textRotation-Eigenschaft des Inhalts die Standardeinstellung TextRotation.AUTO.

Verwenden Sie die folgenden Konstanten, die in der TextRotation-Klasse definiert sind, um den Wert für diese Eigenschaft einzustellen:

StringwertBeschreibung
TextRotation.ROTATE_0Zeilen werden nicht gedreht.
TextRotation.ROTATE_90Zeilen werden um 90 Grad im Uhrzeigersinn gedreht.
TextRotation.ROTATE_180Zeilen werden um 180 Grad gedreht.
TextRotation.ROTATE_270Zeilen werden um 270 Grad im Uhrzeigersinn gedreht.
TextRotation.AUTONicht unterstützt.



Implementierung
    public function get lineRotation():String
    public function set lineRotation(value:String):void

Auslöser
ArgumentError — Falls ein Wert verwendet wird, der kein Mitglied von TextRotation ist.
 
ArgumentError — Falls der Wert auf TextRotation.AUTO gesetzt ist.

Verwandte API-Elemente


Beispiel  ( Verwendung dieses Beispiels )
In diesem Beispiel wird einem TextBlock japanischer Text hinzugefügt und die lineRotation-Eigenschaft wird auf TextRotation.ROTATE_90 gesetzt, um die Zeile senkrecht anzuzeigen.
package {
    import flash.display.Sprite;
    import flash.text.engine.FontDescription;
    import flash.text.engine.TextBlock;
    import flash.text.engine.TextElement;
    import flash.text.engine.TextLine;
    import flash.text.engine.TextRotation;
    import flash.text.engine.ElementFormat;
    
    public class TextBlock_lineRotationExample extends Sprite {
        
        public function TextBlock_lineRotationExample():void {
            var Japanese:String = String.fromCharCode(
                0x5185, 0x95A3, 0x5E9C, 0x304C, 0x300C, 0x653F, 0x5E9C, 0x30A4,
                0x30F3, 0x30BF, 0x30FC, 0x30CD, 0x30C3, 0x30C8, 0x30C6, 0x30EC, 
                0x30D3, 0x300D, 0x306E, 0x52D5, 0x753B, 0x914D, 0x4FE1, 0x5411, 
                0x3051, 0x306B, 0x30A2, 0x30C9, 0x30D3, 0x30B7, 0x30B9, 0x30C6, 
                0x30E0, 0x30BA, 0x793E, 0x306E
            ) +
            "FMS 2" +
            String.fromCharCode(0x3092, 0x63A1, 0x7528, 0x3059, 0x308B, 0x3068, 
                0x767a, 0x8868, 0x3057, 0x307e, 0x3057, 0x305F, 0x3002);

            var fontDescription:FontDescription = new FontDescription("MS Mincho");
            var format:ElementFormat = new ElementFormat();
            format.fontSize = 15;
            format.fontDescription = fontDescription;
                        
            var textElement:TextElement = new TextElement(Japanese, format); 
            var textBlock:TextBlock = new TextBlock();
            textBlock.content = textElement;
            textBlock.lineRotation = TextRotation.ROTATE_90;

            var linePosition:Number = this.stage.stageWidth - 120;
            var previousLine:TextLine = null;
        
            while (true) {
                var textLine:TextLine = textBlock.createTextLine(
                    previousLine, 
                    300);
                if (textLine == null) 
                    break;
                textLine.y = 30;    
                textLine.x = linePosition;
                linePosition -= 24;
                addChild(textLine);                
                previousLine = textLine;
            }        
        }
    }
}

tabStops

Eigenschaft 
tabStops:Vector.<flash.text.engine:TabStop>

Sprachversion: ActionScript 3.0
Laufzeitversionen: Flash Player 10, AIR 1.5, Flash Lite 4

Gibt die Tabstopps für den Text im Textblock in Form eines Vektors von TabStop-Objekten an.

Der Standardwert ist null, was bedeutet, dass keine Tabstopps angegeben wurden. Wenn keine Tabstopps angegeben wurden (oder der Einfügepunkt hinter dem letzten angegebenen Tabstopp liegt), erstellt die Laufzeitumgebung automatisch Halbzoll-Tabs.

Wenn die tabStops-Eigenschaft eingestellt ist, fertigt der TextBlock eine Kopie des Vektors zur internen Verwendung an. Änderungen am ursprünglichen Vektor oder seinem Inhalt wirken sich nicht auf den TextBlock aus. Bei einer Abfrage der tabStops-Eigenschaft wird eine Kopie des internen Vektors zurückgegeben. Auch hier gilt, dass sich Änderungen am zurückgegebenen Vektor oder seinem Inhalt nicht auf den TextBlock auswirken.



Implementierung
    public function get tabStops():Vector.<flash.text.engine:TabStop>
    public function set tabStops(value:Vector.<flash.text.engine:TabStop>):void

Auslöser
ArgumentError — Die angegebenen tabStops enthalten null Elemente.
 
ArgumentError — Die angegebenen tabStops sind nicht nach zunehmender Position sortiert.

Verwandte API-Elemente

textJustifier

Eigenschaft 
textJustifier:flash.text.engine:TextJustifier

Sprachversion: ActionScript 3.0
Laufzeitversionen: Flash Player 10, AIR 1.5, Flash Lite 4

Gibt den TextJustifier an, der bei der Zeilenerstellung verwendet werden soll.

Der Standardwert ist ein konstruiertes TextJustifier-Standardobjekt.

Wenn die textJustifier-Eigenschaft eingestellt ist, fertigt der TextBlock eine Kopie des Objekts zur internen Verwendung an. Änderungen am Originalobjekt wirken sich nicht auf den TextBlock aus. Bei einer Abfrage der textJustifier-Eigenschaft wird eine Kopie des internen Objekts zurückgegeben. Auch hier gilt, dass sich Änderungen am zurückgegebenen Objekt nicht auf den TextBlock auswirken.



Implementierung
    public function get textJustifier():flash.text.engine:TextJustifier
    public function set textJustifier(value:flash.text.engine:TextJustifier):void

Auslöser
ArgumentError — Wenn dies auf einen Wert eingestellt ist, der keine bekannte Unterklasse von TextJustifier ist.

Verwandte API-Elemente

textLineCreationResult

Eigenschaft 
textLineCreationResult:String  [schreibgeschützt]

Sprachversion: ActionScript 3.0
Laufzeitversionen: Flash Player 10, AIR 1.5, Flash Lite 4

Gibt das Ergebnis einer createTextLine()-Methode an. Beim Ändern des Blockinhalts werden zuvor umbrochene Zeilen ungültig und diese Eigenschaft wird auf null zurückgesetzt.

Der Standardwert ist null.

Werte für diese Eigenschaft sind in TextLineCreationResult enthalten.

StringwertBeschreibung
TextLineCreationResult.SUCCESSDie Zeile wurde erfolgreich umbrochen.
TextLineCreationResult.COMPLETEEntweder wurde die neu erstellte Zeile genau an den folgenden Zeilen umbrochen, die von POSSIBLY_INVALID zu VALID übergegangen sind, oder es wurde keine Zeile erstellt, da der gesamte Text im Block bereits umbrochen wurde.
TextLineCreationResult.INSUFFICIENT_WIDTHEs wurde keine Zeile erstellt, da kein Text in die angegebene Breite eingepasst werden konnte.



Implementierung
    public function get textLineCreationResult():String

Verwandte API-Elemente

userData

Eigenschaft 
public var userData:*

Sprachversion: ActionScript 3.0
Laufzeitversionen: Flash Player 10, AIR 1.5, Flash Lite 4

Ermöglicht der Anwendung, beliebige Daten mit dem Textblock zu verknüpfen. Bei den Daten kann es sich um Informationen zum Inhalt handeln (z. B. Änderungsdatum, Name des Verfassers) oder um zwischengespeicherte Daten, die bei der Verarbeitung benötigt werden.

Konstruktordetails

TextBlock

()Konstruktor
public function TextBlock(content:ContentElement = null, tabStops:Vector.<flash.text.engine:TabStop> = null, textJustifier:flash.text.engine:TextJustifier = null, lineRotation:String = "rotate0", baselineZero:String = "roman", bidiLevel:int = 0, applyNonLinearFontScaling:Boolean = true, baselineFontDescription:FontDescription = null, baselineFontSize:Number = 12.0)

Sprachversion: ActionScript 3.0
Laufzeitversionen: Flash Player 10, AIR 1.5, Flash Lite 4

Erstellt ein TextBlock-Objekt.

Parameter
content:ContentElement (default = null) — Der Inhalt des Textblocks.
 
tabStops:Vector.<flash.text.engine:TabStop> (default = null) — Die Tabstopps für den Text im Textblock.
 
textJustifier:flash.text.engine:TextJustifier (default = null) — Das TextJustifier-Objekt, das bei der Zeilenerstellung für diesen Block verwendet werden soll. Wenn kein Justifier angegeben wird, wird ein Standardjustifier basierend auf einem englischen Gebietsschema verwendet.
 
lineRotation:String (default = "rotate0") — Die Drehung, die auf die Textzeilen angewendet wird, die als Einheiten aus dem Textblock generiert werden.
 
baselineZero:String (default = "roman") — Gibt an, welche Grundlinie sich bei y=0 für alle Zeilen im Block befindet.
 
bidiLevel:int (default = 0) — Die standardmäßige bidirektionale Einbettungsstufe des Texts im Textblock.
 
applyNonLinearFontScaling:Boolean (default = true) — Gibt an, dass Sie das Bildschirmerscheinungsbild auf Kosten der WYSIWYG-Drucktreue verbessern möchten.
 
baselineFontDescription:FontDescription (default = null) — Gibt eine Schriftartbeschreibung an, aus der die Zeilengrundlinien für alle Zeilen im Block abgeleitet wird.
 
baselineFontSize:Number (default = 12.0) — Gibt die Größe an, die mit baselineFontDescription verwendet wird. Dieser Parameter wird ignoriert, wenn baselineFontDescription den Wert null hat.

Auslöser
ArgumentError — Der angegebene content ist keine bekannte Unterklasse von ContentElement.
 
ArgumentError — Der angegebene content ist bereits Mitglied einer Gruppe.
 
ArgumentError — Die angegebene lineRotation ist kein Mitglied von TextRotation.
 
ArgumentError — Die angegebene baselineZero ist kein Mitglied von TextBaseline.
 
ArgumentError — Das angegebene bidiLevel ist kleiner als 0.
 
ArgumentError — Die angegebenen tabStops enthalten null Elemente.
 
ArgumentError — Die angegebenen tabStops sind nicht nach zunehmender Position sortiert.
 
ArgumentError — Die angegebene baselineFontSize ist kleiner als 0.

Verwandte API-Elemente

Methodendetails

createTextLine

()Methode
public function createTextLine(previousLine:flash.text.engine:TextLine = null, width:Number = 1000000, lineOffset:Number = 0.0, fitSomething:Boolean = false):flash.text.engine:TextLine

Sprachversion: ActionScript 3.0
Laufzeitversionen: Flash Player 10, AIR 1.5, Flash Lite 4

Weist den Textblock an, eine Textzeile aus dem Inhalt zu erstellen, die beim durch den previousLine-Parameter angegebenen Punkt beginnt und am vom width-Parameter angegebenen Punkt umbrochen wird. Die Textzeile ist ein TextLine-Objekt, das Sie der Anzeigeliste hinzufügen können.

Zeilenumbrüche in einem Bereich eines Textblocks, auf den bereits Zeilenumbrüche angewendet wurden, kann die Gültigkeit der Zeilen in und hinter dem Bereich mit den Zeilenumbrüchen ändern. Der Status der Zeilen kann sich von VALID zu INVALID oder POSSIBLY_INVALID ändern. Wenn eine neu umbrochene Zeile genau an einer zuvor umbrochenen Zeile ausgerichtet wird, die den Status POSSIBLY_INVALID hat, ändern sich diese zuvor umbrochene und alle folgenden Zeilen mit dem Status POSSIBLY_INVALID wieder zurück zum Status VALID. Die Gültigkeit von Zeilen mit Werten, die nicht TextLineValidity angehören, ändert sich nicht in VALID, kann sich allerdings in INVALID ändern. Überprüfen Sie die firstInvalidLine-Eigenschaft, nachdem der Textblock geändert wurde, um zu sehen, wo mit dem Neu-Umbruch von Textzeilen zu beginnen oder fortzufahren ist.

Sie können künstliche Wortumbrüche erstellen, indem Sie das ZWSP-Zeichen (Unicode Zero Width Space) in den Text einfügen. Dies kann hilfreich sein für Sprachen wie zum Beispiel Thai, für die ein Wörterbuch für richtige Zeilenumbrüche erforderlich ist. Die Flash-Laufzeitumgebung enthält kein derartiges Wörterbuch.

Sofern nach dem Erstellen aller gewünschten Zeilen nicht damit zu rechnen ist, dass die Zeilen, zum Beispiel wegen der Größenänderung des Containers, wiederholt neu umbrochen werden müssen, sollte der Benutzer zum Verringern der Speicherlast die releaseLineCreationData()-Methode aufrufen, damit der Textblock die temporären Daten, die mit Zeilenumbrüchen verknüpft sind, löschen kann.

Parameter

previousLine:flash.text.engine:TextLine (default = null) — Gibt die vorherige umbrochene Zeile an, nach der der Zeilenumbruch beginnen soll. Kann null sein, wenn die erste Zeile umbrochen wird.
 
width:Number (default = 1000000) — Legt die gewünschte Breite der Zeile in Pixeln fest. Die tatsächliche Breite kann kleiner sein.
 
lineOffset:Number (default = 0.0) — Ein optionaler Parameter, der die Differenz zwischen dem Anfang der Zeile und dem Anfang des Tabstopps in Pixeln angibt. Dies kann verwendet werden, wenn die Zeilen nicht ausgerichtet sind, für die Tabstopps ist dies jedoch empfehlenswert. Der Standardwert für diesen Parameter 0,0.
 
fitSomething:Boolean (default = false) — Ein optionaler Parameter, der Flash Player anweist, mindestens ein Zeichen in die Textzeile einzupassen, unabhängig von der angegebenen Breite (auch wenn die Breite null oder negativ ist, was andernfalls zu einem Ausnahmefehler führen würde).

Rückgabewerte
flash.text.engine:TextLine — Eine Textzeile oder null, wenn der Textblock leer ist oder die angegebene Breite (width) kleiner als die Breite des nächsten Elements ist. Um zwischen diesen Fällen zu unterscheiden, überprüfen Sie die textLineCreationResult-Eigenschaft des Textblocks.

Auslöser
ArgumentError — Wenn die von previousLine angegebene TextLine nicht gültig ist.
 
ArgumentError — Wenn die von previousLine angegebene TextLine zu einem anderen TextBlock gehört-
 
ArgumentError — Wenn width kleiner als null ist, sofern fitSomething nicht „true“ ist.
 
ArgumentError — Wenn width größer als TextLine.MAX_LINE_WIDTH ist.
 
IllegalOperationError — Wenn mindestens ein Element im Inhalt des Textblocks ein null ElementFormat hat.

Verwandte API-Elemente


Beispiel  ( Verwendung dieses Beispiels )

Im folgenden Beispiel wird die createTextLine()()-Methode aufgerufen, um Textzeilen in einem Textblock zu erstellen. Dies wird durch Ausführen der folgenden Aufgaben erreicht:
  • Erstellen eines TextElement aus einem String und Zuweisen der Schriftgröße 20
  • Erstellen eines TextBlock und Zuweisen des TextElement
  • Aufrufen von createTextLine(), um aus dem Textblock 300 Pixel breite Zeilen zu erstellen
  • Platzieren jeder Zeile auf der Bühne (addChild())und Festlegen ihrer Positionen (x und y)
package {
    import flash.display.Sprite;
    import flash.text.engine.TextBlock;
    import flash.text.engine.TextElement;
    import flash.text.engine.TextLine;
    import flash.text.engine.ElementFormat;
    import flash.text.engine.FontDescription;
    
    public class TextBlock_createTextLineExample extends Sprite {
        
        public function TextBlock_createTextLineExample():void {
            
            var str:String = "I am a TextElement, created from a String and assigned " +
            "to the content property of a TextBlock. The createTextLine() method " +
            "then created these lines, 300 pixels wide, for display." ;
            
            var fontDescription:FontDescription = new FontDescription("Arial");
            var format:ElementFormat = new ElementFormat(fontDescription);
            format.fontSize = 16;
            var textElement:TextElement = new TextElement(str, format); 
            var textBlock:TextBlock = new TextBlock();
            textBlock.content = textElement; 
            createLines(textBlock); 
        }
        
        private function createLines(textBlock:TextBlock):void 
        {            
            var lineWidth:Number = 300;
            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);
            }
        }
    }
}

dump

()Methode 
public function dump():String

Sprachversion: ActionScript 3.0
Laufzeitversionen: Flash Player 10, AIR 1.5

Gibt den zugrundeliegenden Inhalt des TextBlock als XML-String aus. Dies kann beim automatischen Testen hilfreich sein. Informationen zu Text, Formatierung und Layout sind enthalten.

Nachstehend wird die Ausgabe beschrieben:

	 >block<
	 	[0-N LINE]
	 >/block<
	 

Eine Beschreibung der Ausgabe jeder Zeile finden Sie im Abschnitt zur TextLine.dump()-Methode.

Hinweis: Inhalt und Format der Ausgabe können in der Zukunft geändert werden. Adobe garantiert nicht die Abwärtskompatibilität dieser Methode.

Rückgabewerte
String

Verwandte API-Elemente

findNextAtomBoundary

()Methode 
public function findNextAtomBoundary(afterCharIndex:int):int

Sprachversion: ActionScript 3.0
Laufzeitversionen: Flash Player 10, AIR 1.5, Flash Lite 4

Sucht den Index der nächsten Atomgrenze ab dem angegebenen Zeichenindex, wobei das Zeichen beim angegebenen Index nicht eingeschlossen wird. Die Zeichen zwischen Atomgrenzen verbinden sich, um ein Atom in einer TextLine zu bilden, zum Beispiel ein „e“ mit einem dazugehörigen Akut-Zeichen.

Parameter

afterCharIndex:int — Gibt den Index des Zeichens an, ab dem die nächste Atomgrenze gesucht wird.

Rückgabewerte
int — Der Index der nächsten Atomgrenze ab dem angegebenen Zeichenindex.

Auslöser
RangeError — Der angegebene index befindet sich nicht im gültigen Bereich.
 
IllegalOperationError — Die TextLine, zu der das indizierte Zeichen gehört, ist nicht gültig.

Verwandte API-Elemente

findNextWordBoundary

()Methode 
public function findNextWordBoundary(afterCharIndex:int):int

Sprachversion: ActionScript 3.0
Laufzeitversionen: Flash Player 10, AIR 1.5, Flash Lite 4

Sucht den Index der nächsten Wortgrenze ab dem angegebenen Zeichenindex, wobei das Zeichen beim angegebenen Index nicht eingeschlossen wird. Wortgrenzen werden aufgrund der Unicode-Eigenschaften der Zeichen bestimmt.

Parameter

afterCharIndex:int — Gibt den Index des Zeichens an, ab dem die nächste Wortgrenze gesucht wird.

Rückgabewerte
int — Der Index der nächsten Wortgrenze ab dem angegebenen Zeichenindex.

Auslöser
RangeError — Der angegebene index befindet sich nicht im gültigen Bereich.
 
IllegalOperationError — Die TextLine, zu der das indizierte Zeichen gehört, ist nicht gültig.

findPreviousAtomBoundary

()Methode 
public function findPreviousAtomBoundary(beforeCharIndex:int):int

Sprachversion: ActionScript 3.0
Laufzeitversionen: Flash Player 10, AIR 1.5, Flash Lite 4

Sucht den Index der vorherigen Atomgrenze bis zum angegebenen Zeichenindex, wobei das Zeichen beim angegebenen Index nicht eingeschlossen wird. Die Zeichen zwischen Atomgrenzen verbinden sich, um ein Atom in einer TextLine zu bilden, zum Beispiel ein „e“ mit einem dazugehörigen Akut-Zeichen.

Parameter

beforeCharIndex:int — Gibt den Index des Zeichens an, ab dem die vorherige Atomgrenze gesucht wird.

Rückgabewerte
int — Der Index der vorherigen Atomgrenze bis zum angegebenen Zeichenindex.

Auslöser
RangeError — Der angegebene index befindet sich nicht im gültigen Bereich.
 
IllegalOperationError — Die TextLine, zu der das indizierte Zeichen gehört, ist nicht gültig.

Verwandte API-Elemente

findPreviousWordBoundary

()Methode 
public function findPreviousWordBoundary(beforeCharIndex:int):int

Sprachversion: ActionScript 3.0
Laufzeitversionen: Flash Player 10, AIR 1.5, Flash Lite 4

Sucht den Index der vorherigen Wortgrenze bis zum angegebenen Zeichenindex, wobei das Zeichen beim angegebenen Index nicht eingeschlossen wird. Wortgrenzen werden aufgrund der Unicode-Eigenschaften der Zeichen bestimmt.

Parameter

beforeCharIndex:int — Gibt den Index des Zeichens an, ab dem die vorherige Wortgrenze gesucht wird.

Rückgabewerte
int — Der Index der vorherigen Wortgrenze bis zum angegebenen Zeichenindex.

Auslöser
RangeError — Der angegebene index befindet sich nicht im gültigen Bereich.
 
IllegalOperationError — Die TextLine, zu der das indizierte Zeichen gehört, ist nicht gültig.

getTextLineAtCharIndex

()Methode 
public function getTextLineAtCharIndex(charIndex:int):flash.text.engine:TextLine

Sprachversion: ActionScript 3.0
Laufzeitversionen: Flash Player 10, AIR 1.5, Flash Lite 4

Gibt die TextLine zurück, die das vom charIndex-Parameter angegebene Zeichen enthält.

Parameter

charIndex:int — Der Indexwert für das Zeichen mit Basis null (d. h., das erste Zeichen ist 0, das zweite Zeichen 1 usw.).

Rückgabewerte
flash.text.engine:TextLine — Die TextLine, die das Zeichen bei charIndex enthält.

Auslöser
RangeError — Der angegebene Zeichenindex befindet sich nicht im gültigen Bereich.

recreateTextLine

()Methode 
public function recreateTextLine(textLine:flash.text.engine:TextLine, previousLine:flash.text.engine:TextLine = null, width:Number = 1000000, lineOffset:Number = 0.0, fitSomething:Boolean = false):flash.text.engine:TextLine

Sprachversion: ActionScript 3.0
Laufzeitversionen: Flash Player 10.1, AIR 2, Flash Lite 4

Weist den Textblock an, eine vorhandene Textzeile zu verwenden, um eine Textzeile aus dem Inhalt zu erstellen, die beim durch den previousLine-Parameter angegebenen Punkt beginnt und am vom width-Parameter angegebenen Punkt umbrochen wird. Die Textzeile ist ein TextLine-Objekt, das Sie der Anzeigeliste hinzufügen können. Beim Wiederverwenden einer vorhandenen TextLine wird die Leistung verbessert, da weniger Objekte erstellt werden müssen.

Die neu erstellte textLine wird ggf. vom Textblock, in dem sie sich befindet, gelöst. Außerdem werden alle Eigenschaften, einschließlich vererbte Eigenschaften von DisplayObjectContainer, InteractiveObject und DisplayObject, auf ihre Standardwerte zurückgesetzt. Zum Schluss werden alle untergeordneten Elemente der Zeile, einschließlich Grafikelemente und andere Verzierungen, sowie alle Ereignis-Listener für die Zeile entfernt. Um die Leistung zu verbessern, wird als einzige Ausnahme von diesem vollständigen Zurücksetzen die Zeile selbst nicht von ihrem übergeordneten Element entfernt.

Zeilenumbrüche in einem Bereich eines Textblocks, auf den bereits Zeilenumbrüche angewendet wurden, kann die Gültigkeit der Zeilen in und hinter dem Bereich mit den Zeilenumbrüchen ändern. Der Status der Zeilen kann sich von VALID zu INVALID oder POSSIBLY_INVALID ändern. Wenn eine neu umbrochene Zeile genau an einer zuvor umbrochenen Zeile ausgerichtet wird, die den Status POSSIBLY_INVALID hat, ändern sich diese zuvor umbrochene und alle folgenden Zeilen mit dem Status POSSIBLY_INVALID wieder zurück zum Status VALID. Die Gültigkeit von Zeilen mit Werten, die nicht TextLineValidity angehören, ändert sich nicht in VALID, kann sich allerdings in INVALID ändern. Überprüfen Sie die firstInvalidLine-Eigenschaft, nachdem der Textblock geändert wurde, um zu sehen, wo mit dem Neu-Umbruch von Textzeilen zu beginnen oder fortzufahren ist.

Sie können künstliche Wortumbrüche erstellen, indem Sie das ZWSP-Zeichen (Unicode Zero Width Space) in den Text einfügen. Dies kann hilfreich sein für Sprachen wie zum Beispiel Thai, für die ein Wörterbuch für richtige Zeilenumbrüche erforderlich ist. Die Flash-Laufzeitumgebung enthält kein derartiges Wörterbuch.

Sofern nach dem Erstellen aller gewünschten Zeilen nicht damit zu rechnen ist, dass die Zeilen, zum Beispiel wegen der Größenänderung des Containers, wiederholt neu umbrochen werden müssen, sollte der Benutzer zum Verringern der Speicherlast die releaseLineCreationData()-Methode aufrufen, damit der Textblock die temporären Daten, die mit Zeilenumbrüchen verknüpft sind, löschen kann.

Parameter

textLine:flash.text.engine:TextLine — Gibt eine zuvor erstellte TextLine an, die wiederverwendet werden kann.
 
previousLine:flash.text.engine:TextLine (default = null) — Gibt die vorherige umbrochene Zeile an, nach der der Zeilenumbruch beginnen soll. Kann null sein, wenn die erste Zeile umbrochen wird.
 
width:Number (default = 1000000) — Legt die gewünschte Breite der Zeile in Pixeln fest. Die tatsächliche Breite kann kleiner sein.
 
lineOffset:Number (default = 0.0) — Ein optionaler Parameter, der die Differenz zwischen dem Anfang der Zeile und dem Anfang des Tabstopps in Pixeln angibt. Dies kann verwendet werden, wenn die Zeilen nicht ausgerichtet sind, für die Tabstopps ist dies jedoch empfehlenswert. Der Standardwert für diesen Parameter 0,0.
 
fitSomething:Boolean (default = false) — Ein optionaler Parameter, der Flash Player anweist, mindestens ein Zeichen in die Textzeile einzupassen, unabhängig von der angegebenen Breite (auch wenn die Breite null oder negativ ist, was andernfalls zu einem Ausnahmefehler führen würde).

Rückgabewerte
flash.text.engine:TextLine — Eine Textzeile oder null, wenn der Textblock leer ist oder die angegebene Breite (width) kleiner als die Breite des nächsten Elements ist. Um zwischen diesen Fällen zu unterscheiden, überprüfen Sie die textLineCreationResult-Eigenschaft des Textblocks.

Auslöser
ArgumentError — Wenn textLine den Wert null hat.
 
ArgumentError — Wenn die von previousLine angegebene TextLine nicht gültig ist.
 
ArgumentError — Wenn die von previousLine angegebene TextLine zu einem anderen TextBlock gehört-
 
ArgumentError — Wenn die von previousLine angegebene TextLine auch von textLine angegeben wird.
 
ArgumentError — Wenn width kleiner als null ist, sofern fitSomething nicht „true“ ist.
 
ArgumentError — Wenn width größer als TextLine.MAX_LINE_WIDTH ist.
 
IllegalOperationError — Wenn mindestens ein Element im Inhalt des Textblocks ein null ElementFormat hat.

Verwandte API-Elemente


Beispiel  ( Verwendung dieses Beispiels )

In diesem Beispiel wird das TextLine-Objekt textLine wiederverwendet:
var elementFormat:ElementFormat = new ElementFormat();
elementFormat.fontDescription = new FontDescription("Arial");
elementFormat.fontSize = 48;

var textElement:TextElement = new TextElement("Text you'll never see", elementFormat)
var textBlock:TextBlock = new TextBlock(textElement);
var textLine:TextLine = textBlock.createTextLine();
textLine.x = 50;
textLine.y = 50;
addChild(textLine);

// Reuse the element format to preserve the text formatting
var elementTwo:TextElement = new TextElement("Text you see", elementFormat);  
textBlock.content = elementTwo;
textBlock.recreateTextLine(textLine);

// Set the position (and any other display object properties like alpha, children, etc.)
// otherwise, they're all set to default properties.
textLine.x = 50;  
textLine.y = 50;

releaseLineCreationData

()Methode 
public function releaseLineCreationData():void

Sprachversion: ActionScript 3.0
Laufzeitversionen: Flash Player 10.1, AIR 2, Flash Lite 4

Weist den Textblock an, alle temporären Daten, die mit dem Erstellen von Textzeilen verknüpft sind, freizugeben. Um den von einer Anwendung belegten Arbeitsspeicher zu verringern, sollten Sie die releaseLineCreationData()-Methode aufrufen, wenn Sie mit dem Erstellen von Textzeilen in einem Textblock fertig sind. Um die Leistung beim neuen Umbrechen der Zeilen zu verbessern (zum Beispiel, wenn die Containergröße geändert wird), sollte jedoch nicht die releaseLineCreationData()-Methode aufgerufen werden. Die Anwendung ist dafür zuständig, Arbeitsspeicherlast und Leistung ins Gleichgewicht zu bringen.

Die empfohlene Vorgehensweise für Text, der wahrscheinlich nicht geändert wird, ist folgende: initialisieren Sie einen Textblock, rufen Sie die createTextLine()-Methode so oft wie möglich auf, um die gewünschte Ausgabe zu erzielen, und rufen Sie dann die releaseLineCreationData()-Methode auf.

Verwandte API-Elemente

releaseLines

()Methode 
public function releaseLines(firstLine:flash.text.engine:TextLine, lastLine:flash.text.engine:TextLine):void

Sprachversion: ActionScript 3.0
Laufzeitversionen: Flash Player 10, AIR 1.5, Flash Lite 4

Entfernt einen Bereich von Textzeilen aus der Liste der vom TextBlock verwalteten Zeilen. Auf diese Weise können die Zeilen aus dem Speicher entfernt werden (Garbage-Kollektor), wenn keine weiteren Verweise darauf vorhanden sind.

Setzt die textBlock-, nextLine- und previousLine-Mitglieder der entfernten Zeilen auf null. Setzt die validity der entfernten Zeilen und aller anderen Zeilen, die auf die entfernten Zeilen im TextBlock folgen, auf TextLineValidity.INVALID.

Parameter

firstLine:flash.text.engine:TextLine — Gibt die erste zu entfernende Zeile an.
 
lastLine:flash.text.engine:TextLine — Gibt die letzte zu entfernende Zeile an.


Auslöser
ArgumentError — Wenn die von firstLine oder lastLine angegebene TextLine sich nicht in der Liste der vom Textbloch verwalteten Textzeilen befindet.

Verwandte API-Elemente

TextBlockExample.as

In diesem Beispiel werden drei TextBlock-Absätze mit japanischem und englischem Text angezeigt. Der japanische Text wird von Unicode-Zeichencodes in Strings umgewandelt. Wenn Sie auf die Schaltfläche klicken, wird der Text im Beispiel aus der horizontalen in die vertikale Lage bzw. umgekehrt gedreht.
package { 
    import fl.controls.Button;
     import flash.text.engine.TextBlock;
    import flash.text.engine.TextLine;
    import flash.text.engine.TextElement;
    import flash.text.engine.ElementFormat;
    import flash.text.engine.TextRotation;
    import flash.text.engine.TextBaseline;
    import flash.text.engine.LineJustification;
    import flash.text.engine.FontDescription;
    import flash.text.engine.EastAsianJustifier; 
    import flash.display.Loader;
    import flash.display.Sprite;
    import flash.display.Stage;
    import flash.events.MouseEvent;
    import flash.system.Capabilities;
    
    public class TextBlockExample extends Sprite {
        
        var vertical:Boolean;    
        var container:Sprite;
        var textBlocks:Vector.<TextBlock>;
        var loader:Loader = new Loader();
        var directionButton:Button = new Button();
        
        public function TextBlockExample():void {
            addChild(directionButton);
            directionButton.width = 30;
            directionButton.move(50, 350);
            directionButton.addEventListener(MouseEvent.CLICK, clickHandler);
            createContent();
            createLines();
        }

        private function createEmptyBlock():TextBlock {
        
            var textBlock:TextBlock = new TextBlock();
            textBlock.baselineZero = TextBaseline.IDEOGRAPHIC_CENTER;
            textBlock.textJustifier = new EastAsianJustifier("ja", LineJustification.ALL_BUT_LAST);
            textBlock.lineRotation = vertical? TextRotation.ROTATE_90: TextRotation.ROTATE_0;
            return textBlock;    
        }
        
        private function paragraph1(format:ElementFormat):TextBlock {
        
            var textBlock:TextBlock = createEmptyBlock();
            textBlock.content = new TextElement(
            String.fromCharCode(
                0x5185, 0x95A3, 0x5E9C, 0x304C, 0x300C, 0x653F, 0x5E9C, 0x30A4,
                0x30F3, 0x30BF, 0x30FC, 0x30CD, 0x30C3, 0x30C8, 0x30C6, 0x30EC, 
                0x30D3, 0x300D, 0x306E, 0x52D5, 0x753B, 0x914D, 0x4FE1, 0x5411, 
                0x3051, 0x306B, 0x30A2, 0x30C9, 0x30D3, 0x30B7, 0x30B9, 0x30C6, 
                0x30E0, 0x30BA, 0x793E, 0x306E
            ) +
            "FMS 2" +
            String.fromCharCode(0x3092, 0x63A1, 0x7528, 0x3059, 0x308B, 0x3068, 
                0x767a, 0x8868, 0x3057, 0x307e, 0x3057, 0x305F, 0x3002), format);
            return textBlock;
        }

        private function paragraph2(format:ElementFormat):TextBlock {
            
            var textBlock:TextBlock = createEmptyBlock();
            textBlock.content = new TextElement(
            String.fromCharCode(
                0x30AF, 0x30ED, 0x30B9, 0x30D7, 0x30E9, 0x30C3, 0x30C8, 0x30D5, 
                0x30A9, 0x30FC, 0x30E0, 0x4E0A, 0x3067, 0x518D, 0x751F, 0x53EF, 
                0x80FD, 0x306A
            ) + 
            "Flash Video" +
            String.fromCharCode(
                0x3092, 0x914D, 0x4FE1, 0x3001, 0x653F, 0x5E9C, 0x6700, 0x65B0, 
                0x60C5, 0x5831, 0x3092, 0x3088, 0x308A, 0x591A, 0x304F, 0x306E, 
                0x56FD, 0x6C11, 0x306B, 0x9AD8, 0x54C1, 0x8CEA, 0x306A, 0x753B, 
                0x50CF, 0x3067, 0x7C21, 0x5358, 0x304B, 0x3064, 0x30EA, 0x30A2, 
                0x30EB, 0x30BF, 0x30A4, 0x30E0, 0x306B, 0x63D0, 0x4F9B, 0x3059, 
                0x308B, 0x3053, 0x3068, 0x304C, 0x53EF, 0x80FD, 0x306B, 0x306A, 
                0x308A, 0x307e, 0x3057, 0x305F, 0x3002), format);
            return textBlock;    
        }

        private function paragraph3(format:ElementFormat):TextBlock {
            
            var textBlock:TextBlock = createEmptyBlock();
            textBlock.content = new TextElement(
            String.fromCharCode(0x3010) +
            "2007" +
            String.fromCharCode(0x5E74) + "2" + String.fromCharCode(0x6708) +
            "21" +
            String.fromCharCode(0x65E5, 0x3011),
            format);
            return textBlock;    
        }

        private function createContent():void {
            
            var font:FontDescription = new FontDescription();
            if (Capabilities.os.search("Mac OS") > -1) 
                font.fontName = String.fromCharCode(0x5C0F, 0x585A, 0x660E, 0x671D) + " Pro R"; // "Kozuka Mincho Pro R"                    koFont.fontName = "Adobe " + String.fromCharCode(0xBA85, 0xC870) + " Std M"; // "Adobe Myungjo Std M"
            else 
                font.fontName = "Kozuka Mincho Pro R";        
            var format:ElementFormat = new ElementFormat();
            format.fontDescription = font;
            format.fontSize = 12;
            format.locale = "ja";
            format.color = 0x000000;
            if (!vertical) 
                format.textRotation = TextRotation.ROTATE_0; 
            textBlocks = new Vector.<TextBlock>();
            textBlocks.push(
                paragraph1(format),
                paragraph2(format),
                paragraph3(format)//,
            );
        }

        private function createLines():void {    
        
            if (container != null) {
                removeChild(container);
            }            
            container = new Sprite();
            container.y = 45;
            container.x = 40;
            addChild(container);
            var linePosition:Number = vertical? this.stage.stageWidth - 120: 12;
        
            for (var i:uint = 0; i < textBlocks.length; i++) {
                var textBlock:TextBlock = textBlocks[i];
                var previousLine:TextLine = null;
        
                while (true) {
                    var textLine:TextLine = textBlock.createTextLine(
                        previousLine, 
                        300);
                    if (textLine == null) 
                        break;
                    if (vertical) 
                    {
                        textLine.x = linePosition;
                        linePosition -= 24;
                        directionButton.label = " -- ";
                    }
                    else 
                    {
                        textLine.y = linePosition+50;
                        linePosition += 24;
                        directionButton.label = " | ";
                    }
                    container.addChild(textLine);                
                    previousLine = textLine;
                }
                if (vertical) 
                    linePosition -= 16;
                else 
                    linePosition += 16; 
            }
        }

        private function clickHandler(event:MouseEvent):void {
            
            vertical = !vertical;
            createContent();
            createLines();
        }
    }
}




[ X ]Warum auf Englisch?
Inhalt des ActionScript 3.0-Referenzhandbuchs wird in englischer Sprache angezeigt

Nicht alle Teile des ActionScript 3.0-Referenzhandbuchs wurden in alle Sprachen übersetzt. Wenn der Text zu einem Sprachelement nicht übersetzt wurde, wird er auf Englisch angezeigt. Zum Beispiel wurden die Informationen zur ga.controls.HelpBox-Klasse nicht in andere Sprachen übersetzt. In der deutschen Version des Referenzhandbuchs erscheint der Abschnitt zur ga.controls.HelpBox-Klasse deshalb auf Englisch.