Pakiet | flash.text.engine |
Klasa | public final class TextElement |
Dziedziczenie | TextElement ContentElement Object |
Wersja języka: | ActionScript 3.0 |
Wersje środowiska wykonawczego: | Flash Player 10, AIR 1.5, Flash Lite 4 |
content
obiektu TextBlock. Obiekt ten należy przypisać do obiektu GroupElement w celu połączenia z innymi elementami tekstowymi i graficznymi jako jednostka. Klasa ElementFormat służy do formatowania tekstu.
Powiązane elementy interfejsu API
Właściwości publiczne
Właściwość | Zdefiniowane przez | ||
---|---|---|---|
constructor : Object
Odwołanie do obiektu klasy lub funkcji konstruktora, dotyczące danej instancji obiektu. | Object | ||
elementFormat : ElementFormat
Obiekt ElementFormat zastosowany dla elementu. | ContentElement | ||
eventMirror : EventDispatcher
Obiekt EventDispatcher otrzymujący kopie każdego zdarzenia wywołanego do poprawnego wiersza tekstu utworzonego na podstawie tego elementu treści. | ContentElement | ||
groupElement : GroupElement [tylko do odczytu]
Obiekt GroupElement zawierający ten element lub wartość null, jeśli element nie znajduje się w grupie. | ContentElement | ||
rawText : String [tylko do odczytu]
Kopia tekstu w elemencie, w tym znaki U+FDEF. | ContentElement | ||
text : String
Otrzymuje tekst stanowiący treść elementu. | TextElement | ||
textBlock : flash.text.engine:TextBlock [tylko do odczytu]
Obiekt TextBlock, do którego należy element. | ContentElement | ||
textBlockBeginIndex : int [tylko do odczytu]
Indeks w bloku tekstu pierwszego znaku tego elementu. | ContentElement | ||
textRotation : String
Obrót zastosowany do elementu jako jednostki. | ContentElement | ||
userData : *
Umożliwia aplikacji skojarzenie dowolnych danych z elementem. | ContentElement |
Metody publiczne
Metoda | Zdefiniowane przez | ||
---|---|---|---|
TextElement(text:String = null, elementFormat:ElementFormat = null, eventMirror:EventDispatcher = null, textRotation:String = "rotate0")
Tworzą nową instancję TextElement. | TextElement | ||
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 | ||
Zastępuje zakres znaków określony przez parametry beginIndex i endIndex zawartością parametru newText. | TextElement | ||
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 |
Stałe publiczne
Szczegół właściwości
text | właściwość |
Konstruktor Szczegół
TextElement | () | Konstruktor |
public function TextElement(text:String = null, elementFormat:ElementFormat = null, eventMirror:EventDispatcher = null, textRotation:String = "rotate0")
Wersja języka: | ActionScript 3.0 |
Wersje środowiska wykonawczego: | Flash Player 10, AIR 1.5, Flash Lite 4 |
Tworzą nowe wystąpienie klasy TextElement.
Parametrytext:String (default = null ) — Tekst dla elementu. Wartością domyślną jest null .
| |
elementFormat:ElementFormat (default = null ) — Format elementu dla tekstu w elemencie. Wartością domyślną jest null .
| |
eventMirror:EventDispatcher (default = null ) — Obiekt EventDispatcher otrzymujący kopie każdego zdarzenia wywołanego do wierszy tekstu na podstawie tego elementu treści. Wartością domyślną jest null .
| |
textRotation:String (default = "rotate0 ") — Obrót zastosowany do elementu jako jednostki. Dla tej właściwości należy użyć stałej TextRotation . Wartością domyślną jest TextRotation.ROTATE_0 .
|
Przykład ( Sposób korzystania z tego przykładu )
Poniższy przykład ilustruje tworzenie obiektu TextElement z ciągu znaków tekstu, jego formatowanie za pomocą rozmiaru czcionki 12 i koloru czerwonego (0xCC0000) oraz przypisanie go do właściwości
content
obiektu TextBlock. Powoduje wywołanie funkcji createLines() w celu podziału bloku tekstu na wiersze składające się ze 150 pikseli każdy.
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; public class TextElementExample extends Sprite { public function TextElementExample():void { var str:String = "Lorem ipsum dolor sit amet, consectetur adipisicing elit, " + "sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut " + "enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut " + "aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit " + "in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur " + "sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt " + "mollit anim id est laborum."; var format:ElementFormat = new ElementFormat(null, 12, 0xCC0000); var textElement:TextElement = new TextElement(str, format); var textBlock:TextBlock = new TextBlock(); textBlock.content = textElement; createLines(textBlock); } private function createLines(textBlock:TextBlock):void { var yPos = 20; var textLine:TextLine = textBlock.createTextLine (null, 150); while (textLine) { addChild(textLine); textLine.x = 15; yPos += textLine.textHeight+2; textLine.y = yPos; textLine = textBlock.createTextLine(textLine, 150); } } } }
Szczegół metody
replaceText | () | metoda |
public function replaceText(beginIndex:int, endIndex:int, newText:String):void
Wersja języka: | ActionScript 3.0 |
Wersje środowiska wykonawczego: | Flash Player 10, AIR 1.5, Flash Lite 4 |
Zastępuje zakres znaków określonych przez parametry beginIndex
oraz endIndex
zawartością parametru newText
. WartościbeginIndex
oraz endIndex
odnoszą się do bieżącej treści tekstu
.
Aby usunąć tekst, należy przekazać wartośćnull
dla newText
.
Aby wstawić tekst, należy przekazać tę samą wartość dla parametru beginIndex
i endIndex
. Nowy tekst zostaje wstawiony przed określonym indeksem.
Aby dołączyć tekst, należy przekazać wartość beginIndex
dla beginIndex
oraz endIndex
.
Aby ustawić cały tekst, należy przekazać wartość 0 do parametru beginIndex
i text.length
dla endIndex
.
Parametry
beginIndex:int — Liczony od 0 indeks pozycji wyjściowej zakresu zamiennego.
| |
endIndex:int — Liczony od 0 indeks następujący po pozycji końcowej zakresu zamiennego.
| |
newText:String — Tekst, który zastąpi określony zakres znaków.
|
Zgłasza
RangeError — Podany parametr beginIndex lub endIndex znajduje się poza zakresem.
|
Przykład ( Sposób korzystania z tego przykładu )
W tym przykładzie kilkakrotnie wywoływana jest metoda
replaceText()
w celu wykonania następujących czynności:
- wstawienie ciągu znaków na początek tekstu
- dołączenie ciągu znaków na koniec tekstu
- wstawienie ciągu znaków do środka tekstu
- zastąpienie całego tekstu nowym tekstem
package { import flash.display.Sprite; import flash.text.engine.FontDescription; import flash.text.engine.ElementFormat; import flash.text.engine.TextElement; import flash.text.engine.TextBlock; import flash.text.engine.TextLine; public class TextElement_replaceTextExample extends Sprite { public function TextElement_replaceTextExample():void { var str:String = "0123456"; var fontDescription:FontDescription = new FontDescription("Arial"); var format:ElementFormat = new ElementFormat(fontDescription); format.fontSize = 14; var textElement:TextElement = new TextElement(str, format); var textBlock:TextBlock = new TextBlock(); textBlock.content = textElement; textElement.replaceText(0, 0, "abc"); createLine(textBlock, 20); //"abc0123456" textElement.replaceText(10, 10, "abc"); createLine(textBlock, 40); // "abc0123456abc" textElement.replaceText(5, 8, "abc"); createLine(textBlock, 60); // "abc01abc56abc" textElement.replaceText(0, 13, "abc"); createLine(textBlock, 80); // "abc" textElement.replaceText(0, 3, "That's all she wrote!"); createLine(textBlock, 100); // "That's all she wrote" */ } private function createLine(textBlock:TextBlock, y:Number):void { var textLine:TextLine = textBlock.createTextLine(null, 150); textLine.x = 10; textLine.y = y; addChild(textLine); } } }
Tue Jun 12 2018, 12:06 PM Z