| 套件 | flash.text.engine |
| 類別 | public final class TextElement |
| 繼承 | TextElement ContentElement Object |
| 語言版本: | ActionScript 3.0 |
| 執行階段版本: | Flash Player 10, AIR 1.5, Flash Lite 4 |
content 屬性,以建立文字區塊。將其指定給 GroupElement 物件,以便和其他文字與圖像元素結合當做一個單位。使用 ElementFormat 類別來格式化文字。
相關 API 元素
公用屬性
| 屬性 | 定義自 | ||
|---|---|---|---|
![]() | constructor : Object
類別物件的參照或是特定物件實體的建構函數。 | Object | |
![]() | elementFormat : ElementFormat
用於此元素的 ElementFormat 物件。 | ContentElement | |
![]() | eventMirror : EventDispatcher
EventDispatcher 物件,此物件會接收傳送給有效文字行之每一個事件的副本 (這些文字行是根據這個內容元素所建立)。 | ContentElement | |
![]() | groupElement : GroupElement [唯讀]
包含此元素的 GroupElement 物件,如果它不在群組中則為 null。 | ContentElement | |
![]() | rawText : String [唯讀]
元素中的文字副本,包括任何 U+FDEF 字元。 | ContentElement | |
| text : String
接收屬於元素內容的文字。 | TextElement | ||
![]() | textBlock : flash.text.engine:TextBlock [唯讀]
此元素所屬的 TextBlock。 | ContentElement | |
![]() | textBlockBeginIndex : int [唯讀]
此元素之第一個字母的文字區塊內的索引。 | ContentElement | |
![]() | textRotation : String
將旋轉當成一個單位套用至元素。 | ContentElement | |
![]() | userData : *
提供了讓應用程式將任意資料與元素產生關聯的方法。 | ContentElement | |
公用方法
| 方法 | 定義自 | ||
|---|---|---|---|
TextElement(text:String = null, elementFormat:ElementFormat = null, eventMirror:EventDispatcher = null, textRotation:String = "rotate0")
建立新的 TextElement 實體。 | TextElement | ||
![]() |
指出物件是否有已定義的指定屬性。 | Object | |
![]() |
指出 Object 類別的實體是否位於指定為參數的物件原型鏈中。 | Object | |
![]() |
指出指定的屬性是否存在,以及是否可列舉。 | Object | |
會以 newText 參數的內容,取代 beginIndex 和 endIndex 參數所指定的字元範圍。 | TextElement | ||
![]() |
為迴圈作業設定動態屬性的可用性。 | Object | |
![]() |
傳回代表此物件的字串,根據地區特定慣例進行格式化。 | Object | |
![]() |
會傳回指定之物件的字串形式。 | Object | |
![]() |
會傳回指定之物件的基本值。 | Object | |
屬性詳細資訊
text | 屬性 |
建構函式詳細資料
TextElement | () | 建構函式 |
public function TextElement(text:String = null, elementFormat:ElementFormat = null, eventMirror:EventDispatcher = null, textRotation:String = "rotate0")| 語言版本: | ActionScript 3.0 |
| 執行階段版本: | Flash Player 10, AIR 1.5, Flash Lite 4 |
建立新的 TextElement 實體。
參數text:String (default = null) — 元素的文字。預設值為 null。
| |
elementFormat:ElementFormat (default = null) — 元素中之文字的元素格式。預設值為 null。
| |
eventMirror:EventDispatcher (default = null) — EventDispatcher 物件,此物件將會接收傳送給文字行之每一個事件的副本 (這些文字行是根據這個內容元素所建立)。預設值為 null。
| |
textRotation:String (default = "rotate0") — 旋轉會將元素當做一個單位進行套用。請針對此屬性使用 TextRotation 常數。預設值為 TextRotation.ROTATE_0。
|
範例 ( 如何使用本範例 )
下列範例從文字字串中建立了 TextElement 物件,並使用字體大小 12 與紅色 (0xCC0000) 來加以格式化,然後將其指定給 TextBlock 的
content 屬性。它會呼叫 createLines() 函數,將文字區塊斷成每個寬度為 150 個像素的字行。
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);
}
}
}
}
方法詳細資訊
replaceText | () | 方法 |
public function replaceText(beginIndex:int, endIndex:int, newText:String):void| 語言版本: | ActionScript 3.0 |
| 執行階段版本: | Flash Player 10, AIR 1.5, Flash Lite 4 |
將 beginIndex 和 endIndex 參數所指定的字元範圍,以 newText 參數的內容取代。 beginIndex 和 endIndex 值指的是 text 的目前內容。
若要刪除文字,請為 newText 傳遞 null。
若要插入文字,請為 beginIndex 和 endIndex 傳遞相同的值。新的文字將會插入指定索引的前面。
若要附加文字,請為 beginIndex 和 endIndex 傳遞 text.length。
若要設定所有文字,請為 beginIndex 傳遞 0,並為 endIndex 傳遞 text.length。
參數
beginIndex:int — 取代範圍之開始位置的索引值 (從零開始)。
| |
endIndex:int — 取代範圍之結束位置之後的索引值 (從零開始)。
| |
newText:String — 用來取代指定之字元範圍的文字。
|
擲回值
RangeError — 指定的 beginIndex 或 endIndex 超出範圍。
|
範例 ( 如何使用本範例 )
此範例會呼叫
replaceText() 好幾次來完成下列工作:
- 在文字開頭插入字串
- 將字串附加到文字結尾
- 在文字中央插入字串
- 以新文字來完全取代文字
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, 03:47 PM Z
隱藏繼承公用屬性
顯示繼承公用屬性