패키지 | flash.text.engine |
클래스 | public final class TextElement |
상속 | TextElement ContentElement Object |
언어 버전: | ActionScript 3.0 |
런타임 버전: | Flash Player 10, AIR 1.5, Flash Lite 4 |
content
속성에 TextElement 객체를 할당하여 텍스트 블록을 만듭니다. 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 | ||
beginIndex 및 endIndex 매개 변수로 지정된 문자 범위를 newText 매개 변수의 내용으로 바꿉니다. | 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 — 바꾸기 범위의 시작 위치를 나타내는 인덱스 값(0부터 시작)입니다.
| |
endIndex:int — 대체 범위의 끝 위치 이후를 나타내는 인덱스 값(0부터 시작)입니다.
| |
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:17 PM Z