Pakiet | flash.text.engine |
Klasa | public final class TextBlock |
Dziedziczenie | TextBlock Object |
Wersja języka: | ActionScript 3.0 |
Wersje środowiska wykonawczego: | Flash Player 10, AIR 1.5, Flash Lite 4 |
Klasa TextBlock ma w zamierzeniu zawierać pojedynczy akapit, ponieważ dwukierunkowe algorytmy Unicode oraz algorytmy podziału wiersza wykorzystują jeden akapit w określonym czasie. W przypadku aplikacji składających się z wielu akapitów należy używać języka znaczników lub analizy tekstu w celu podziału tekstu na akapity lub utworzenia jednego obiektu TextBlock na każdy akapit.
Obiekt TextBlock przechowuje treść za pomocą właściwości content
, stanowiącej instancje klasy ContentElement. Ponieważ utworzenie instancji klasy ContentElement nie jest możliwe, należy ustawić właściwośćcontent
jako instancję jednej z podklas: TextElement, GraphicElement lub GroupElement. Obiekt TextElement należy stosować wyłącznie dla treści tekstowej, GraphicElement dla treści graficznej lub zawierającej obrazy, a GroupElement dla treści zawierającej połączenie obiektów TextElement, GraphicElement oraz innych obiektów GroupElement. Aby uzyskać szczegóły na temat zarządzania sformatowanymi łańcuchami tekstu, osadzonych podłańcuchów oraz elementów graficznych, patrz klasa ContentElement jej podklasy.
Po utworzeniu instancji TextBlock i ustawieniu właściwości content
należy wywołać metodę createTextLine()
w celu utworzenia wierszy tekstu stanowiących instancje klasy TextLine
.
Powiązane elementy interfejsu API
GraphicElement
GroupElement
TextBaseline
TextElement
TextJustifier
TextLine
TextRotation
TabStop
Właściwość | Zdefiniowane przez | ||
---|---|---|---|
applyNonLinearFontScaling : Boolean
Określa, czy poprawić wygląd ekranu kosztem dokładności drukowania w trybie WYSIWYG (To co widzisz jest tym, co otrzymasz). | TextBlock | ||
baselineFontDescription : FontDescription
Czcionka użyta do określenia linii bazowej dla wszystkich wierszy utworzonych z bloku niezależnie od swojej treści. | TextBlock | ||
baselineFontSize : Number
Wielkość czcionki użytej do obliczania linii bazowej dla wierszy utworzonych z bloku. | TextBlock | ||
baselineZero : String
Określa, która linia bazowa znajduje się w położeniu y=0 dla wierszy utworzonych z tego bloku. | TextBlock | ||
bidiLevel : int
Określa dwukierunkowy poziom osadzenia tekstu w bloku tekstu. | TextBlock | ||
constructor : Object
Odwołanie do obiektu klasy lub funkcji konstruktora, dotyczące danej instancji obiektu. | Object | ||
content : ContentElement
Utrzymuje treść bloku tekstowego. | TextBlock | ||
firstInvalidLine : flash.text.engine:TextLine [tylko do odczytu]
Wskazuje pierwszy wiersz w bloku tekstu, w którym TextLine.validity nie jest równe TextLineValidity.VALID. | TextBlock | ||
firstLine : flash.text.engine:TextLine [tylko do odczytu]
Pierwszy obiekt TextLine w TextBlock (jeśli występuje). | TextBlock | ||
lastLine : flash.text.engine:TextLine [tylko do odczytu]
Ostatni obiekt TextLine w TextBlock (jeśli występuje). | TextBlock | ||
lineRotation : String
Obraca wiersze tekstu w bloku tekstu jako jednostkę. | TextBlock | ||
tabStops : Vector.<flash.text.engine:TabStop>
Określa punkty tabulacji dla tekstu w bloku tekstu w formie instancji klasy Vector zawierającej obiekty TabStops. | TextBlock | ||
textJustifier : flash.text.engine:TextJustifier
Określa obiekt TextJustifier stosowany podczas tworzenia. | TextBlock | ||
textLineCreationResult : String [tylko do odczytu]
Wskazuje na wynik operacji createTextLine(). | TextBlock | ||
userData : *
Umożliwia aplikacji skojarzenie dowolnych danych z blokiem tekstowym. | TextBlock |
Metoda | Zdefiniowane przez | ||
---|---|---|---|
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)
Tworzy obiekt TextBlock.
| TextBlock | ||
createTextLine(previousLine:flash.text.engine:TextLine = null, width:Number = 1000000, lineOffset:Number = 0.0, fitSomething:Boolean = false):flash.text.engine:TextLine
Nakazuje blokowi tekstu utworzenie wiersza tekstu z jego treści, zaczynając w punkcie określonym przez parametr previousLine i podzielony w punkcie określonym przez parametr width. | TextBlock | ||
Zrzuca podstawową treść obiektu TextBlock jako ciąg znaków XML. | TextBlock | ||
Odszukuje indeks kolejnej granicy atomu z określonego indeksu znaku, nie uwzględniając znaku o określonym indeksie. | TextBlock | ||
Odszukuje indeks kolejnej granicy wyrazu z określonego indeksu znaku, nie uwzględniając znaku o określonym indeksie. | TextBlock | ||
Odszukuje indeks poprzedniej granicy atomu do określonego indeksu znaku, nie uwzględniając znaku o określonym indeksie. | TextBlock | ||
Odszukuje indeks poprzedniej granicy wyrazu do określonego indeksu znaku, nie uwzględniając znaku o określonym indeksie. | TextBlock | ||
Zwraca obiekt TextLine zawierający znak określony przez parametr charIndex. | TextBlock | ||
Wskazuje, czy dla obiektu zdefiniowano określoną właściwość. | Object | ||
Wskazuje, czy instancja klasy Object należy do łańcucha prototypów obiektu określonego jako parametr. | Object | ||
Wskazuje, czy określona właściwość istnieje i jest przeliczalna. | 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
Nakazuje blokowi tekstu ponowne wykorzystanie istniejącego wiersza tekstu i utworzenie nowego wiersza z jego treści, zaczynając w punkcie określonym przez parametr previousLine, z podziałem w punkcie określonym przez parametr width. | TextBlock | ||
Nakazuje blokowi tekstu zwolnienie wszystkich danych tymczasowych związanych z tworzeniem wierszy tekstu. | TextBlock | ||
Powoduje usunięcie zakresu wierszy tekstu z listy wierszy obsługiwanych przez obiekt TextBlock. | TextBlock | ||
Ustawia dostępność właściwości dynamicznej używanej w pętlach. | Object | ||
Zwraca ciąg reprezentujący obiekt — sformatowany zgodnie z konwencjami właściwymi dla ustawień regionalnych. | Object | ||
Zwraca ciąg reprezentujący określony obiekt. | Object | ||
Zwraca pierwotną wartość dla określonego obiektu. | Object |
applyNonLinearFontScaling | właściwość |
applyNonLinearFontScaling:Boolean
Wersja języka: | ActionScript 3.0 |
Wersje środowiska wykonawczego: | Flash Player 10, AIR 1.5, Flash Lite 4 |
Określa, czy poprawić wygląd ekranu kosztem dokładności drukowania w trybie WYSIWYG (To co widzisz jest tym, co otrzymasz). W przypadku platform i czcionek, które podczas renderowania czcionek urządzenia nie obsługują ustawiania pozycji glifów subpikseli, ale obsługują skalowanie nieliniowe, ustawienie dla tej właściwości wartości true
umożliwia korzystanie z tych pomiarów w zamian za nieznaczne pogorszenie jakości wydruku WYSIWYG, szczególnie w przypadku małych czcionek. Nieliniowe skalowanie czcionek działa przez selektywne skalowanie szerokości poszczególnych glifów w celu ukrycia nieatrakcyjnych przerw spowodowanych przyciąganiem pikseli.
Na platformach obsługujących ustawianie pozycji glifów subpikseli ta flaga jest ignorowana.
Ta flaga nie ma żadnego wpływu na renderowanie czcionek osadzonych.
Wartością domyślną jest true
.
Implementacja
public function get applyNonLinearFontScaling():Boolean
public function set applyNonLinearFontScaling(value:Boolean):void
baselineFontDescription | właściwość |
baselineFontDescription:FontDescription
Wersja języka: | ActionScript 3.0 |
Wersje środowiska wykonawczego: | Flash Player 10, AIR 1.5, Flash Lite 4 |
Czcionka użyta do określenia linii bazowej dla wszystkich wierszy utworzonych z bloku niezależnie od swojej treści. Linie bazowe uzależnione są od czcionki i jej rozmiaru.
Wartością domyślną jest null
. Jeśli czcionka linii bazowej ma wartość null
, wielkość czcionki linii bazowej jest ignorowana, a linia bazowa dla danego wiersza opierać się będzie na czcionce i wielkości czcionki największego tekstu w wierszu. Po określeniu właściwości baselineFontDescription
i baselineFontSize
będą one decydowały o liniach bazowych w bloku tekstu, niezależnie od swojej zawartości. To połączenie jest najbardziej użyteczne w typografii języków azjatyckich.
Implementacja
public function get baselineFontDescription():FontDescription
public function set baselineFontDescription(value:FontDescription):void
Powiązane elementy interfejsu API
baselineFontSize | właściwość |
baselineFontSize:Number
Wersja języka: | ActionScript 3.0 |
Wersje środowiska wykonawczego: | Flash Player 10, AIR 1.5, Flash Lite 4 |
Wielkość czcionki użytej do obliczania linii bazowej dla wierszy utworzonych z bloku. Linie bazowe uzależnione są od czcionki i jej rozmiaru.
Wartość domyślna to 12
. Jeśli czcionka linii bazowej ma wartość null
, wielkość czcionki linii bazowej jest ignorowana, a linia bazowa dla danego wiersza opierać się będzie na czcionce i wielkości czcionki największego tekstu w wierszu.
Implementacja
public function get baselineFontSize():Number
public function set baselineFontSize(value:Number):void
Zgłasza
ArgumentError — Określona właściwość baselineFontSize jest mniejsza niż wartość 0.
|
Powiązane elementy interfejsu API
baselineZero | właściwość |
baselineZero:String
Wersja języka: | ActionScript 3.0 |
Wersje środowiska wykonawczego: | Flash Player 10, AIR 1.5, Flash Lite 4 |
Określa, która linia bazowa znajduje się w położeniu y=0 dla wierszy utworzonych z tego bloku. Poprawne wartości dla tej właściwości znajdują się w elementach należących do klasy TextBaseline
.
Wartością domyślną jest TextBaseline.ROMAN
.
W celu ustawienia wartości tej właściwości należy użyć następujących wartości ciągu znaków:
Wartość ciągu znaków | Opis |
---|---|
TextBaseline.ROMAN | Linia bazowa alfabetu łacińskiego wierszy znajduje się w położeniu y=0. |
TextBaseline.ASCENT | Linia bazowa wydłużenia górnego wierszy znajduje się w położeniu y=0. |
TextBaseline.DESCENT | Linia bazowa wydłużenia dolnego wierszy znajduje się w położeniu y=0. |
TextBaseline.IDEOGRAPHIC_TOP | Górna linia bazowa ideogramów wierszy znajduje się w położeniu y=0. |
TextBaseline.IDEOGRAPHIC_CENTER | Środkowa linia bazowa ideogramów wierszy znajduje się w położeniu y=0. |
TextBaseline.IDEOGRAPHIC_BOTTOM | Dolna linia bazowa ideogramów wierszy znajduje się w położeniu y=0. |
Implementacja
public function get baselineZero():String
public function set baselineZero(value:String):void
Zgłasza
ArgumentError — Jeśli ustawiona jest dowolna wartość, która nie jest elementem klasy TextBaseline .
|
Powiązane elementy interfejsu API
bidiLevel | właściwość |
bidiLevel:int
Wersja języka: | ActionScript 3.0 |
Wersje środowiska wykonawczego: | Flash Player 10, AIR 1.5, Flash Lite 4 |
Określa dwukierunkowy poziom osadzenia tekstu w bloku tekstu. Zazwyczaj należy używać wartości 0 dla akapitów czytanych od lewej do prawej (dla języków angielskiego, japońskiego itd.) i wartości 1 dla akapitów czytanych od prawej do lewej (dla języków (arabskiego, hebrajskiego itd.). Korzystanie z wartości innych niż 0 i 1 jest zarezerwowane dla przypadków szczególnych. Informacje na ten temat zawiera dokument UAX#9, Unicode Bidirectional Algorithm (Algorytm dwukierunkowy Unicode, http://www.unicode.org/reports/tr9/).
Wartością domyślną jest 0.
Modyfikacja właściwości bidiLevel
powoduje zmianę właściwości validity wszystkich wcześniej podzielonych wierszy na TextLineValidity.INVALID. Po zmianie właściwości bidiLevel
właściwość firstInvalidLine
jest taka sama jak właściwość firstLine
i należy ponownie podzielić wszystkie wiersze w obiekcie TextBlock.
Implementacja
public function get bidiLevel():int
public function set bidiLevel(value:int):void
Zgłasza
ArgumentError — Jeśli ustawiono wartość mniejszą niż 0.
|
Powiązane elementy interfejsu API
Przykład ( Sposób korzystania z tego przykładu )
bidiLevel
parzystej, a następnie bidiLevel
nieparzystej.
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 | właściwość |
content:ContentElement
Wersja języka: | ActionScript 3.0 |
Wersje środowiska wykonawczego: | Flash Player 10, AIR 1.5, Flash Lite 4 |
Utrzymuje treść bloku tekstowego. Ponieważ ContentElement to klasa podstawowa, należy przypisać właściwości content
instancję podklasy ContentElement: TextElement, GraphicElement lub GroupElement. Obiekt TextElement zawiera ciąg znaków, obiekt GraphicElement zawiera DisplayObject, a GroupElement zawiera obiekt Vector obejmujący obiekt TextElement, GraphicElement oraz inne obiekty GroupElement. Obiekt TextElement należy używać w przypadku akapitów tekstu jednorodnego, GraphicElement dla elementów graficznych, a GroupElement dla połączenia elementów tekstowych i graficznych lub wielu instancji tych elementów oraz innych obiektów GroupElement.
Wartością domyślną jest null
.
Modyfikacja właściwości content
powoduje zmianę właściwości validity wszystkich wcześniej utworzonych wierszy na TextLineValidity.INVALID
. Po zmianie właściwości content
właściwość firstInvalidLine
jest taka sama jak właściwość firstLine
i należy ponownie podzielić wszystkie wiersze w obiekcie TextBlock.
Implementacja
public function get content():ContentElement
public function set content(value:ContentElement):void
Zgłasza
ArgumentError — Jeśli ustawiona jest wartość, która nie jest znaną podklasą ContentElement .
| |
ArgumentError — Określona właściwość value jest już elementem grupy.
|
Powiązane elementy interfejsu API
firstInvalidLine | właściwość |
firstInvalidLine:flash.text.engine:TextLine
[tylko do odczytu] Wersja języka: | ActionScript 3.0 |
Wersje środowiska wykonawczego: | Flash Player 10, AIR 1.5, Flash Lite 4 |
Wskazuje pierwszy wiersz w bloku tekstu, w którym TextLine.validity
nie jest równe TextLineValidity.VALID
.
Wartością domyślną jest null
.
Implementacja
public function get firstInvalidLine():flash.text.engine:TextLine
Powiązane elementy interfejsu API
firstLine | właściwość |
firstLine:flash.text.engine:TextLine
[tylko do odczytu] Wersja języka: | ActionScript 3.0 |
Wersje środowiska wykonawczego: | Flash Player 10, AIR 1.5, Flash Lite 4 |
Pierwszy obiekt TextLine w TextBlock (jeśli występuje).
Wartością domyślną jest null
.
Implementacja
public function get firstLine():flash.text.engine:TextLine
Powiązane elementy interfejsu API
lastLine | właściwość |
lastLine:flash.text.engine:TextLine
[tylko do odczytu] Wersja języka: | ActionScript 3.0 |
Wersje środowiska wykonawczego: | Flash Player 10, AIR 1.5, Flash Lite 4 |
Ostatni obiekt TextLine w TextBlock (jeśli występuje).
Wartością domyślną jest null
.
Implementacja
public function get lastLine():flash.text.engine:TextLine
Powiązane elementy interfejsu API
lineRotation | właściwość |
lineRotation:String
Wersja języka: | ActionScript 3.0 |
Wersje środowiska wykonawczego: | Flash Player 10, AIR 1.5, Flash Lite 4 |
Obraca wiersze tekstu w bloku tekstu jako jednostkę. Należy wywołać metodę createTextLine()
po ustawieniu lineRotation
, tak aby uzyskać żądane rezultaty. Wartością domyślną jest TextRotation.ROTATE_0
.
Końcowy obrót dowolnego glifu zależy od właściwości ElementFormat.textRotation
, ContentElement.textRotation
oraz TextBlock.lineRotation
.
Właściwość TextBlock.lineRotation
jest zazwyczaj stosowana dla tekstów w językach azjatyckich. W celu utworzenia akapitu pionowego tekstu w języku japońskim należy wykonać następujące czynności:
- Ustawić dla właściwości
TextBlock.lineRotation
wartość
TextRotation.ROTATE_90 - Pozostawić właściwość treści
ElementFormat.textRotation
jako wartość domyślnąTextRotation.AUTO
.
Za pomocą następujących stałych zdefiniowanych w klasie TextRotation
ustawić wartość dla tej właściwości:
Wartość ciągu znaków | Opis |
---|---|
TextRotation.ROTATE_0 | Wiersze nie są obracane. |
TextRotation.ROTATE_90 | Wiersze są obracane o 90 stopni w prawo. |
TextRotation.ROTATE_180 | Wiersze są obracane o 180 stopni. |
TextRotation.ROTATE_270 | Wiersze są obracane o 270 stopni w prawo. |
TextRotation.AUTO | Nie obsługiwany. |
Implementacja
public function get lineRotation():String
public function set lineRotation(value:String):void
Zgłasza
ArgumentError — Jeśli ustawiona jest dowolna wartość, która nie jest elementem klasy TextRotation .
| |
ArgumentError — Jeśli ustawiono TextRotation.AUTO .
|
Powiązane elementy interfejsu API
Przykład ( Sposób korzystania z tego przykładu )
lineRotation
jako TextRotation.ROTATE_90 w celu pionowego wyświetlenia wierszy.
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 | właściwość |
tabStops:Vector.<flash.text.engine:TabStop>
Wersja języka: | ActionScript 3.0 |
Wersje środowiska wykonawczego: | Flash Player 10, AIR 1.5, Flash Lite 4 |
Określa punkty tabulacji dla tekstu w bloku tekstu w formie instancji klasy Vector zawierającej obiekty TabStop
.
Wartość domyślna null
oznacza, że nie określono żadnych punktów tabulacji. Jeśli nie określono żadnych punktów tabulacji (lub punkt wstawiania znajduje się poza ostatnim określonym punktem tabulacji) środowisko wykonawcze utworzy domyślnie punkty tabulacji w odstępach równych pół cala.
Po ustawieniu właściwości tabStops
obiekt TextBlock tworzy kopię obiektu Vector na użytek wewnętrzny. Zmodyfikowanie oryginalnego obiektu Vector lub jego zawartości nie wpływa na obiekt TextBlock. Odczytanie właściwości tabStops
powoduje zwrócenie kopii wewnętrznego obiektu Vector. Zmodyfikowanie tego zwróconego wektora lub jego zawartości nie wpływa na obiekt TextBlock.
Implementacja
public function get tabStops():Vector.<flash.text.engine:TabStop>
public function set tabStops(value:Vector.<flash.text.engine:TabStop>):void
Zgłasza
ArgumentError — Określona właściwość tabStops zawiera elementy null .
| |
ArgumentError — Określone właściwości tabStops nie są ustawione wzrastająco.
|
Powiązane elementy interfejsu API
textJustifier | właściwość |
textJustifier:flash.text.engine:TextJustifier
Wersja języka: | ActionScript 3.0 |
Wersje środowiska wykonawczego: | Flash Player 10, AIR 1.5, Flash Lite 4 |
Określa obiekt TextJustifier stosowany podczas tworzenia.
Wartością domyślną jest domyślnie utworzony obiekt TextJustifier.
Po ustawieniu właściwości textJustifier
obiekt TextBlock tworzy kopię obiektu do użytku wewnętrznego. Zmodyfikowanie oryginalnego obiektu nie wpływa na obiekt TextBlock. Odczytanie właściwości textJustifier
powoduje zwrócenie kopii obiektu wewnętrznego. Zmodyfikowanie tak zwróconego obiektu także nie wpływa na obiekt TextBlock.
Implementacja
public function get textJustifier():flash.text.engine:TextJustifier
public function set textJustifier(value:flash.text.engine:TextJustifier):void
Zgłasza
ArgumentError — Jeśli ustawiona jest wartość, która nie jest znaną podklasą TextJustifier .
|
Powiązane elementy interfejsu API
textLineCreationResult | właściwość |
textLineCreationResult:String
[tylko do odczytu] Wersja języka: | ActionScript 3.0 |
Wersje środowiska wykonawczego: | Flash Player 10, AIR 1.5, Flash Lite 4 |
Wskazuje na wynik operacji createTextLine()
. Zmiana treści bloku unieważnia wcześniej podzielone wiersze i resetuje właściwość do wartości null
.
Wartością domyślną jest null
.
Wartości dla tej właściwości znajdują się w TextLineCreationResult
.
Wartość ciągu znaków | Opis |
---|---|
TextLineCreationResult.SUCCESS | Wiersz został pomyślnie podzielony. |
TextLineCreationResult.COMPLETE | Nowy utworzony wiersz jest dokładnie wyrównany do następujących wierszy, które zostały zmienione z POSSIBLY_INVALID do VALID, lub nie utworzono żadnego wiersza, ponieważ tekst w bloku został już wcześniej podzielony. |
TextLineCreationResult.INSUFFICIENT_WIDTH | Nie został utworzony żaden wiersz, ponieważ tekst nie mieścił się w określonej szerokości. |
Implementacja
public function get textLineCreationResult():String
Powiązane elementy interfejsu API
userData | właściwość |
public var userData:*
Wersja języka: | ActionScript 3.0 |
Wersje środowiska wykonawczego: | Flash Player 10, AIR 1.5, Flash Lite 4 |
Umożliwia aplikacji skojarzenie dowolnych danych z blokiem tekstowym. Dane mogą stanowić informacje odnoszące się do treści, takie jak data korekty lub nazwisko autora, Mogą to być również dane buforowane używane podczas przetwarzania.
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)
Wersja języka: | ActionScript 3.0 |
Wersje środowiska wykonawczego: | Flash Player 10, AIR 1.5, Flash Lite 4 |
Tworzy obiekt TextBlock.
Parametrycontent:ContentElement (default = null ) — Treść bloku tekstu.
| |
tabStops:Vector.<flash.text.engine:TabStop> (default = null ) — Punkty tabulacji tekstu w bloku tekstu.
| |
textJustifier:flash.text.engine:TextJustifier (default = null ) — Obiekt TextJustifier używany podczas tworzenia wiersza dla tego bloku. Jeśli nie został uwzględniony mechanizm justowania, zostaje utworzony domyślny mechanizm justowania w oparciu o ustawienia regionalne dla języka angielskiego.
| |
lineRotation:String (default = "rotate0 ") — Obrót stosowany do wiersza tekstu utworzony z bloku tekstu jako jednostki.
| |
baselineZero:String (default = "roman ") — Określa, która linia bazowa znajduje się w położeniu y=0 dla wszystkich wierszy w bloku.
| |
bidiLevel:int (default = 0 ) — Domyślny dwukierunkowy poziom osadzenia tekstu w bloku tekstu.
| |
applyNonLinearFontScaling:Boolean (default = true ) — Określa, czy poprawić wygląd ekranu kosztem dokładności drukowania WYSIWYG.
| |
baselineFontDescription:FontDescription (default = null ) — Określa opis czcionek, z których pochodzą linie bazowe dla wszystkich wierszy w bloku.
| |
baselineFontSize:Number (default = 12.0 ) — Określa rozmiar używany z baselineFontDescription. Ten parametr jest ignorowany, jeśli dla baselineFontDescription występuje wartośćnull .
|
Zgłasza
ArgumentError — Określona właściwość content nie jest elementem znanej podklasy ContentElement .
| |
ArgumentError — Określona właściwość content jest już elementem grupy.
| |
ArgumentError — Określona właściwość lineRotation nie jest elementem TextRotation .
| |
ArgumentError — Określona właściwość baselineZero nie jest elementem TextBaseline .
| |
ArgumentError — Określona właściwość bidiLevel jest mniejsza niż wartość 0.
| |
ArgumentError — Określona właściwość tabStops zawiera elementy null .
| |
ArgumentError — Określone właściwości tabStops nie są ustawione wzrastająco.
| |
ArgumentError — Określona właściwość baselineFontSize jest mniejsza niż wartość 0.
|
Powiązane elementy interfejsu API
createTextLine | () | metoda |
public function createTextLine(previousLine:flash.text.engine:TextLine = null, width:Number = 1000000, lineOffset:Number = 0.0, fitSomething:Boolean = false):flash.text.engine:TextLine
Wersja języka: | ActionScript 3.0 |
Wersje środowiska wykonawczego: | Flash Player 10, AIR 1.5, Flash Lite 4 |
Nakazuje blokowi tekstu utworzenie wiersza tekstu z jego treści, zaczynając w punkcie określonym przez parametr previousLine
i podzielony w punkcie określonym przez parametr width
. Wiersz tekstu to obiekt TextLine, który można dodać do listy odtwarzania.
Podział wierszy dotyczący zakresu bloku tekstu, który już został podzielony może doprowadzić do zmiany parametru validity wierszy w obszarze (i poza nim), w którym nastąpił podział. Status wierszy może zmienić się z VALID na INVALID lub POSSIBLY_INVALID. Jeśli ostatnio podzielony wiersz jest dokładnie wyrównany z wcześniej podzielonym wierszem ze statusem POSSIBLY_INVALID, to wcześniej podzielony wiersz oraz wszystkie następne wiersze POSSIBLY_INVALID zmienią status na VALID. Parametr validity wierszy, dla którego zostały ustawione wartości, które nie są elementami TextLineValidity
nie zmieni się na VALID, ale może zmienić się na INVALID. Należy sprawdzić właściwość firstInvalidLine
po każdej zmianie bloku tekstu, aby uzyskać informacje dotyczące miejsca, w którym należy rozpocząć podział lub kontynuować ponowny podział wierszy.
Można utworzyć sztuczne granice wyrazu poprzez uwzględnienie w tekście znaku przerwy zerowej długości Unicode (ZWSP, Zero Width Space). Jest to użyteczne dla języków takich jak tajski, który wymaga słownika do prawidłowego podziału wierszy. Środowisko wykonawcze Flash nie zawiera takiego słownika.
Aby ograniczyć zużycie pamięci, po utworzeniu wszystkich żądanych wierszy użytkownik powinien wywołać metodę releaseLineCreationData()
, umożliwiając usunięcie danych tymczasowych związanych z podziałem wierszy, chyba że oczekuje się, że wiersze będą dzielone wielokrotnie z powodu, np. zmiany rozmiarów kontenera.
Parametry
previousLine:flash.text.engine:TextLine (default = null ) — Określa wcześniej podzielony wiersz, po którym ma się rozpocząć podział. Wartość null możne pojawić się podczas podziału pierwszego wiersza.
| |
width:Number (default = 1000000 ) — Określa żądaną szerokość wiersza w pikselach. Rzeczywista szerokość może być mniejsza.
| |
lineOffset:Number (default = 0.0 ) — Opcjonalny parametr, który określa różnicę w pikselach pomiędzy początkiem wiersza i początkiem punktów tabulacji. Można go zastosować w przypadku niewyrównanych wierszy. Jednak zaleca się, aby tabulatory tych wierszy były wyrównane. Wartością domyślną jest parametr 0,0 .
| |
fitSomething:Boolean (default = false ) — Opcjonalny parametr, który nakazuje odtwarzaczowi Flash Player umieszczenie co najmniej jednego znaku w wierszu tekstu bez względu na określoną szerokość (nawet jeśli szerokość ma wartość zerową lub ujemną, co innych przypadkach spowodowałoby zgłoszenie wyjątku).
|
flash.text.engine:TextLine — Wiersz tekstu lub wartość null , jeśli blok tekstu jest pusty lub określona szerokość jest mniejsza niż szerokość kolejnego elementu. Aby rozróżnić pomiędzy tymi dworna przypadkami, należy sprawdzić właściwość textLineCreationResult bloku tekstu.
|
Zgłasza
ArgumentError — Jeśli obiekt TextLine określony przez parametr previousLine jest poprawny.
| |
ArgumentError — Jeśli obiekt TextLine określony przez parametr previousLine należy do innego obiektu TextBlock.
| |
ArgumentError — Jeśli parametr width jest mniejszy niż zero, o ile fitSomething to wartość true.
| |
ArgumentError — Jeśli wartość parametru width jest większa od TextLine.MAX_LINE_WIDTH .
| |
IllegalOperationError — Jeśli jeden lub więcej elementów w treści bloku tekstu zawiera null ElementFormat .
|
Powiązane elementy interfejsu API
Przykład ( Sposób korzystania z tego przykładu )
createTextLine()
w celu utworzenia wierszy tekstu w bloku tekstu. Można to osiągnąć poprzez wykonanie następujących zadań.
- Utworzenie obiektu TextElement z ciągu znaków i wybranie dla niego rozmiaru czcionki 20.
- Utworzenie obiektu TextBlock i przypisanie do niego obiektu TextElement.
- Wywołanie metody
createTextLine()
w celu utworzenia wierszy o szerokości 300 pikseli z bloku tekstu. - Umieszczenie każdego wiersza na stole montażowym (
addChild()
) i ustawienie położenia (x
iy
)
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 | () | metoda |
public function dump():String
Wersja języka: | ActionScript 3.0 |
Wersje środowiska wykonawczego: | Flash Player 10, AIR 1.5 |
Zrzuca podstawową treść obiektu TextBlock jako ciąg znaków XML. Może to być przydatne przy testowaniu zautomatyzowanym; zapisany ciąg zawiera tekst, informacje o formatowaniu i układzie.
Poniżej opisano wyniki:
>block< [0-N LINE] >/block<
Opis wyników dla każdego wiersza znajduje się w omówieniu metody TextLine.dump().
Uwaga: Treść i format wyniku tej metody może w przyszłości ulec zmianie. Adobe nie gwarantuje kompatybilności wstecznej tej metody.
ZwracaString |
Powiązane elementy interfejsu API
findNextAtomBoundary | () | metoda |
public function findNextAtomBoundary(afterCharIndex:int):int
Wersja języka: | ActionScript 3.0 |
Wersje środowiska wykonawczego: | Flash Player 10, AIR 1.5, Flash Lite 4 |
Odszukuje indeks kolejnej granicy atomu z określonego indeksu znaku, nie uwzględniając znaku o określonym indeksie. Znaki pomiędzy granicami atomu łączą się w celu utworzenia jednego atomu w TextLine
, takiego jak „e” z połączonym akcentem silnym.
Parametry
afterCharIndex:int — Określa indeks znaku, z którego nastąpi szukanie kolejnej granicy atomu.
|
int — Indeks kolejnej granicy atomu z określonego indeksu znaku.
|
Zgłasza
RangeError — Określona wartość właściwości index jest poza zakresem.
| |
IllegalOperationError — Obiekt TextLine, do którego należy indeksowany znak, nie jest poprawny.
|
Powiązane elementy interfejsu API
findNextWordBoundary | () | metoda |
public function findNextWordBoundary(afterCharIndex:int):int
Wersja języka: | ActionScript 3.0 |
Wersje środowiska wykonawczego: | Flash Player 10, AIR 1.5, Flash Lite 4 |
Odszukuje indeks kolejnej granicy wyrazu z określonego indeksu znaku, nie uwzględniając znaku o określonym indeksie. Granice wyrazu są określane w oparciu o właściwości Unicode znaku.
Parametry
afterCharIndex:int — Określa indeks znaku, z którego nastąpi szukanie kolejnej granicy wyrazu.
|
int — Indeks kolejnej granicy wyrazu z określonego indeksu znaku.
|
Zgłasza
RangeError — Określona wartość właściwości index jest poza zakresem.
| |
IllegalOperationError — Obiekt TextLine, do którego należy indeksowany znak, nie jest poprawny.
|
findPreviousAtomBoundary | () | metoda |
public function findPreviousAtomBoundary(beforeCharIndex:int):int
Wersja języka: | ActionScript 3.0 |
Wersje środowiska wykonawczego: | Flash Player 10, AIR 1.5, Flash Lite 4 |
Odszukuje indeks poprzedniej granicy atomu do określonego indeksu znaku, nie uwzględniając znaku o określonym indeksie. Znaki pomiędzy granicami atomu łączą się w celu utworzenia jednego atomu w TextLine
, takiego jak „e” z połączonym akcentem silnym.
Parametry
beforeCharIndex:int — Określa indeks znaku, z którego nastąpi szukanie poprzedniej granicy atomu.
|
int — Indeks poprzedniej granicy atomu do określonego indeksu znaku.
|
Zgłasza
RangeError — Określona wartość właściwości index jest poza zakresem.
| |
IllegalOperationError — Obiekt TextLine, do którego należy indeksowany znak, nie jest poprawny.
|
Powiązane elementy interfejsu API
findPreviousWordBoundary | () | metoda |
public function findPreviousWordBoundary(beforeCharIndex:int):int
Wersja języka: | ActionScript 3.0 |
Wersje środowiska wykonawczego: | Flash Player 10, AIR 1.5, Flash Lite 4 |
Odszukuje indeks poprzedniej granicy wyrazu do określonego indeksu znaku, nie uwzględniając znaku o określonym indeksie. Granice wyrazu są określane w oparciu o właściwości Unicode znaku.
Parametry
beforeCharIndex:int — Określa indeks znaku, z którego nastąpi szukanie poprzedniej granicy wyrazu.
|
int — Indeks poprzedniej granicy wyrazu do określonego indeksu znaku.
|
Zgłasza
RangeError — Określona wartość właściwości index jest poza zakresem.
| |
IllegalOperationError — Obiekt TextLine, do którego należy indeksowany znak, nie jest poprawny.
|
getTextLineAtCharIndex | () | metoda |
public function getTextLineAtCharIndex(charIndex:int):flash.text.engine:TextLine
Wersja języka: | ActionScript 3.0 |
Wersje środowiska wykonawczego: | Flash Player 10, AIR 1.5, Flash Lite 4 |
Zwraca obiekt TextLine zawierający znak określony przez parametr charIndex
.
Parametry
charIndex:int — Indeks znaku liczony od 0 (na przykład pierwszy znak to 0, drugi to 1 itd.).
|
flash.text.engine:TextLine — Obiekt TextLine zawierający znak o parametrzecharIndex .
|
Zgłasza
RangeError — Określony indeks znaków jest poza zakresem.
|
recreateTextLine | () | metoda |
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
Wersja języka: | ActionScript 3.0 |
Wersje środowiska wykonawczego: | Flash Player 10.1, AIR 2, Flash Lite 4 |
Nakazuje blokowi tekstu ponowne wykorzystanie istniejącego wiersza tekstu i utworzenie nowego wiersza z jego treści, zaczynając w punkcie określonym przez parametr previousLine
, z podziałem w punkcie określonym przez parametr width
. Wiersz tekstu to obiekt TextLine, który można dodać do listy odtwarzania. Ponowne wykorzystanie istniejącego wiersza poprawia wydajność, ponieważ liczba tworzonych od nowa obiektów jest mniejsza.
Ponownie tworzony obiekt textLine
zostanie odłączony od bloku tekstu, w którym się znajduje (o ile znajduje się w bloku tekstu). Ponadto przywracane są domyślne wartości wszystkich właściwości, w tym właściwości odziedziczonych z klas DisplayObjectContainer
, InteractiveObject
i DisplayObject
. Na koniec wszystkie elementy podrzędne wiersza, wraz z elementami graficznymi i innymi dekoracjami, są usuwane. Usuwane są także wszystkie detektory zdarzeń obiektu wiersza. Jedynym odstępstwem od zasady pełnego przywracania wiersza jest pozostawienie go w obiekcie nadrzędnym. Wiersz nie jest usuwany z obiektu nadrzędnego ze względów wydajnościowych.
Podział wierszy dotyczący zakresu bloku tekstu, który już został podzielony może doprowadzić do zmiany parametru validity wierszy w obszarze (i poza nim), w którym nastąpił podział. Status wierszy może zmienić się z VALID na INVALID lub POSSIBLY_INVALID. Jeśli ostatnio podzielony wiersz jest dokładnie wyrównany z wcześniej podzielonym wierszem ze statusem POSSIBLY_INVALID, to wcześniej podzielony wiersz oraz wszystkie następne wiersze POSSIBLY_INVALID zmienią status na VALID. Parametr validity wierszy, dla którego zostały ustawione wartości, które nie są elementami TextLineValidity
nie zmieni się na VALID, ale może zmienić się na INVALID. Należy sprawdzić właściwość firstInvalidLine
po każdej zmianie bloku tekstu, aby uzyskać informacje dotyczące miejsca, w którym należy rozpocząć podział lub kontynuować ponowny podział wierszy.
Można utworzyć sztuczne granice wyrazu poprzez uwzględnienie w tekście znaku przerwy zerowej długości Unicode (ZWSP, Zero Width Space). Jest to użyteczne dla języków takich jak tajski, który wymaga słownika do prawidłowego podziału wierszy. Środowisko wykonawcze Flash nie zawiera takiego słownika.
Aby ograniczyć zużycie pamięci, po utworzeniu wszystkich żądanych wierszy użytkownik powinien wywołać metodę releaseLineCreationData()
, umożliwiając usunięcie danych tymczasowych związanych z podziałem wierszy, chyba że oczekuje się, że wiersze będą dzielone wielokrotnie z powodu, np. zmiany rozmiarów kontenera.
Parametry
textLine:flash.text.engine:TextLine — Nakazuje ponowne wykorzystanie utworzonego poprzednio obiektu TextLine.
| |
previousLine:flash.text.engine:TextLine (default = null ) — Określa wcześniej podzielony wiersz, po którym ma się rozpocząć podział. Wartość null możne pojawić się podczas podziału pierwszego wiersza.
| |
width:Number (default = 1000000 ) — Określa żądaną szerokość wiersza w pikselach. Rzeczywista szerokość może być mniejsza.
| |
lineOffset:Number (default = 0.0 ) — Opcjonalny parametr, który określa różnicę w pikselach pomiędzy początkiem wiersza i początkiem punktów tabulacji. Można go zastosować w przypadku niewyrównanych wierszy. Jednak zaleca się, aby tabulatory tych wierszy były wyrównane. Wartością domyślną jest parametr 0,0 .
| |
fitSomething:Boolean (default = false ) — Opcjonalny parametr, który nakazuje odtwarzaczowi Flash Player umieszczenie co najmniej jednego znaku w wierszu tekstu bez względu na określoną szerokość (nawet jeśli szerokość ma wartość zerową lub ujemną, co innych przypadkach spowodowałoby zgłoszenie wyjątku).
|
flash.text.engine:TextLine — Wiersz tekstu lub wartość null , jeśli blok tekstu jest pusty lub określona szerokość jest mniejsza niż szerokość kolejnego elementu. Aby rozróżnić pomiędzy tymi dworna przypadkami, należy sprawdzić właściwość textLineCreationResult bloku tekstu.
|
Zgłasza
ArgumentError — Jeśli parametr textLine jest równy null.
| |
ArgumentError — Jeśli obiekt TextLine określony przez parametr previousLine jest poprawny.
| |
ArgumentError — Jeśli obiekt TextLine określony przez parametr previousLine należy do innego obiektu TextBlock.
| |
ArgumentError — Jeśli obiekt TextLine określony przez parametr previousLine jest także określony przez parametr textLine .
| |
ArgumentError — Jeśli parametr width jest mniejszy niż zero, o ile fitSomething to wartość true.
| |
ArgumentError — Jeśli wartość parametru width jest większa od TextLine.MAX_LINE_WIDTH .
| |
IllegalOperationError — Jeśli jeden lub więcej elementów w treści bloku tekstu zawiera null ElementFormat .
|
Powiązane elementy interfejsu API
Przykład ( Sposób korzystania z tego przykładu )
textLine
:
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 | () | metoda |
public function releaseLineCreationData():void
Wersja języka: | ActionScript 3.0 |
Wersje środowiska wykonawczego: | Flash Player 10.1, AIR 2, Flash Lite 4 |
Nakazuje blokowi tekstu zwolnienie wszystkich danych tymczasowych związanych z tworzeniem wierszy tekstu. Aby zminimalizować zużycie pamięci, należy wywołać metodę releaseLineCreationData()
po zakończeniu tworzenia wierszy tekstu z bloku tekstowego. Aby jednak uzyskać maksymalną wydajność ponownego dzielenia wierszy (np. przy zmianie wymiarów kontenera), nie należy wywoływać metody releaseLineCreationData()
. Autor aplikacji powinien podjąć decyzję o odpowiednim zrównoważeniu wykorzystania pamięci i wydajności.
Zalecany proces dla tekstu, który ma z założenia nie ulegać zmianom, jest następujący: zainicjowanie bloku tekstowego, wywołanie metody createTextLine()
tyle razy, ile to konieczne do utworzenie żądanych wyników, wywołanie metody releaseLineCreationData()
.
Powiązane elementy interfejsu API
releaseLines | () | metoda |
public function releaseLines(firstLine:flash.text.engine:TextLine, lastLine:flash.text.engine:TextLine):void
Wersja języka: | ActionScript 3.0 |
Wersje środowiska wykonawczego: | Flash Player 10, AIR 1.5, Flash Lite 4 |
Powoduje usunięcie zakresu wierszy tekstu z listy wierszy obsługiwanych przez obiekt TextBlock. Pozwala to na zebranie zbędnych danych w przypadku braku innych odwołań.
Ustawia elementy usuniętej linii textBlock
, nextLine
oraz previousLine
na wartość null
. Ustawia parametr validity
usuniętych wierszy spośród wszystkich wierszy znajdujących się za usuniętymi wierszami w obiekcie TextBlock jako TextLineValidity.INVALID
.
Parametry
firstLine:flash.text.engine:TextLine — Określa pierwszy wiersz do zwolnienia.
| |
lastLine:flash.text.engine:TextLine — Określa ostatni wiersz do zwolnienia.
|
Zgłasza
ArgumentError — Jeśli obiekt TextLine określony przez firstLine lub lastLine nie jest uwzględniony na liście wierszy obsługiwanych przez blok tekstu.
|
Powiązane elementy interfejsu API
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(); } } }
Tue Jun 12 2018, 12:06 PM Z