클라이언트 컴퓨터에서 사용중인 폰트목록을 Font클래스의 enumerateFonts()메서드를 통하여 불러올 수 있다. 다만 폰트의 이름정보 정도만 가져오므로 실제로 폰트를 사용하기 위해서는 TextFormat에서 font속성 정도로 접근하여 보여줄 수 있다. 그러나 폰트자체를 가공하기 위해서는 임베드를 해야하는데 다이나믹한 임베드가 되지 않으니 근사한 가공은 현재로선 힘들 것 같다.

* enumerateFonts : 현재 사용할 수 있는 포함된 글꼴의 목록을 제공할지 여부를 지정합니다.
   값을 true로 설정하면 장치 글꼴과 포함된 글꼴을 포함한 모든 글꼴의 목록이 반환됩니다.
   이 값을 false로 설정하면 포함된 글꼴의 목록만 반환됩니다.

fontsList:Array = [];
fontsList = Font.enumerateFonts(true);
fontsList.sortOn( "fontName" , Array.CASEINSENSITIVE);
for( var i:int=0; i<fontsNum; i++ ){
 trace( i , "번째 폰트 : " , fontsList[i]["fontName"] );
}
//출력 : 클라이언트의 폰트목록을 출력한다.

아래의 무비는  TextFormat에 사용할 폰트를 fontsList[선택된 폰트번호]["fontName"] 명령문을 통하여 여러분의 컴퓨터에 설치 되어있는 폰트를 가져와 사용합니다.



Posted by 버터백통
텍스트필드에 설정된 내용을 replaceText()메서드를 통하여 인덱스 구간에 따라 내용을 교체할 수 있다.
가령 텍스트의 내용이 "ABCD"일때 replaceText(0,2,"가나")라고 메서드를 실행하면 내용은 "가나CD"라고 교체가 된다. 이 외에 replaceSelectedText()라는 메서드를 통해 내용을 텍스트 필드 제일 앞에 추가할 수 있다.

replaceSelectedText()를 사용하기 위해서는 텍스트필드에 포커스가 설정되어 있어야 한다.
replaceSelectedText()메서드는 AS3 레퍼런스에서 언급된 삭제나 교체는 실행해보지 못하였다. 레퍼런스에 이 메서드를 사용하려면 스타일 시트 선언하라는 언급이 있는데 선언하면 에러를 발생한다... 따라서 보다 구체적인 기능 검수는 못하였다. 단지 replaceSelectedText()통한 문자열 삽입정도만 가능했다.
Posted by 버터백통
텍스트 필드에는 안티알리아싱과 그리드나 샤프닝등의 속성을 설정할 수 있다.
* 폰트 안티알리아싱 속성 설정 : 임베드된 폰트에 한하여 속성을 설정할 수 있다.
    ADVANCED : 앤티앨리어싱을 고급 앤티앨리어싱으로 설정합니다.
    고급 앤티앨리어싱으로 설정하면 작은 크기의 글꼴을 매우 정교하게 렌더링할 수 있습니다.
    이 설정은 글자 크기가 작은 텍스트가 많이 포함된 응용 프로그램에서 사용하면 좋습니다.
    48포인트보다 큰 글꼴에는 고급 앤티앨리어싱을 사용하지 않는 것이 좋습니다.
   
    NORMAL : 앤티앨리어싱을 Flash Player 7 및 이전 버전에서 사용되는 앤티앨리어싱으로 설정합니다.
    이 설정은 텍스트가 많지 않은 응용 프로그램에 사용하는 것이 좋습니다.

* sharpness : 텍스트 필드의 글리프 가장자리 선명도이며 값은 -400~400까지 입력가능하다.

* gridFitType : TextField 클래스의 격자 맞춤에 대한 값을 정의한다.

     NONE : 격자 맞춤을 설정하지 않습니다. 
     글리프의 가로 선과 세로 선이 픽셀 격자에 강제로 맞추어지지 않습니다.
    
     PIXEL : 굵은 가로 및 세로 선을 픽셀 격자에 맞춥니다.
     이 설정은 왼쪽 정렬 텍스트 필드에만 적용되며 정적 텍스트의 GridFitType.SUBPIXEL 상수와 비슷합니다.
     일반적으로 왼쪽 정렬 텍스트에 이 설정을 적용하면 가독성이 가장 향상됩니다.
     
     SUBPIXEL : 굵은 가로 및 세로 선을 LCD 모니터의 하위 픽셀 격자에 맞춥니다.
     빨강, 녹색 및 파랑은 LCD 화면의 실제 픽셀입니다.
     이 설정은 일반적으로 오른쪽 정렬 또는 가운데 정렬 동적 텍스트에 적합하며
     애니메이션과 텍스트 간의 품질을 절충할 때도 유용합니다
Posted by 버터백통
사용자가 텍스트 필드에 텍스트를 입력하거나 HTML 텍스트 필드의 하이퍼링크를 클릭하면 Flash Player는 TextEvent 객체를 전달합니다. 텍스트 이벤트에는 TextEvent.LINK 유형과 TextEvent.TEXT_INPUT 유형이 있습니다.
LINK는 텍스트필드의 내용에 링크가 걸려있으때 이를 클릭하여 발생하는 이벤트이며 TEXT_INPUT는 텍스트필드에 내용을 입력할 때마다 발생하는 이벤트 입니다. 이벤트에는 text라는 속성이 있는데 이는 입력된 문자를 반환하는 속성입니다.



 

이 무비는 플래시 도움말의 예제를 만들어 본 것입니다. 위에 링크는 htmlText의 내용으로
"<a href='event:" + url + "'>" + text + "</a>" 와 같이 <a>태그에 링크를 달았고 아래 입력창에 내용이 들어오면 TEXT_INPUT이벤트를 사용하여 text속성의 값을 아래 텍스트 필드에 출력해 보았습니다.
Posted by 버터백통
텍스트 필드에 입력 커서가 자동으로 깜빡이도록 포커싱을 맞추어 줄수 있다. 이는 stage.focus속성에 사용하고자 하는 텍스트 필드를 대입하면 된다. 그리고 커서의 위치를 설정할 수 있는데 그것은
TextField의 setSelection(시작위치,마지막위치)메서드를 이용하여 위치나 범위를 설정할 수 있다.



이 무비는 5개의 입력 텍스트 필드를 배치하고 각 버튼을 누르면 해당 텍스트 필드로 입력 커서가 위치하게 하거나 범위를 잡도록 한 것이다.
Posted by 버터백통
플래시플레이어는 기본적으로 사용자의 설치된 폰트리스트에서 폰트를 찾아 보여주는데 특수한 폰트를 사용하여 디자인한 경우에는 대부분의 사용자 컴퓨터에 폰트가 없다. 따라서 그러한 폰트는 swf무비 내에 포함시켜서 컴파일해야 한다. 단 폰트의 용량이 추가 되므로 무비의 사이즈는 엄청나게 커질 수 있다. 따라서 플래시에서 사용할 폰트에 종류(숫자,한글,알파벳등)를 설정하여 최소화해서 swf로 가져오는 방법이 좋다. 그냥 폰트 전체를 가져오는거나 폰트의 일부를 가져오는거나 모두 Embed태그를 사용한다.

[Embed(source="경로" , fontName="폰트이름" , mimeType="application/x-font-truetype")]
private var font: Class;

이처럼 임베드를 설정하고 TextFormat의 font 또는 htmlText나 css에서 font family로 폰트이름을 설정한다.
그리고 적용할 TextFieldembedFontstrue로 설정하여야 한다.

이 무비에서는 처음에는 기본 사용자의 폰트를 사용하다가 각 폰트 버튼을 누르면 임베드한 폰트로 바꾸고 embedFonts를 true로 설정한다. 임베드 폰트를 사용한 후에는 텍스트필드가 변형되어도 사라지지 않고 반영된다.


Posted by 버터백통

TextFeild에는 styleSheet라는 속성이 있다. 이곳에 불러들여 파싱한 css파일을 설정한다.
외부에 아래와 같이 css파일을 만든 다음 URLLoader를 통해 무비로 불러들인다.
p{
 font-family:돋움;
 color:#FFFFFF;
 font-size:10;
}
.emphasis{
 font-weight:bold;
 font-style:italic;
 color:#FFFF00;
 font-size:14;
}


불러온 css파일을 StyleSheet를 delegate한 객체에서 parseCSS( 불러온 css.data )메서드를 사용하여 css내용을 분석하여 delegate객체를 TextField의 styleSheet으로 설정한다.

[실제 css에서의 속성과 같은 역할을 하는 AC3에서의 속성]

CSS 속성

ActionScript 속성

구문 및 지원되는 값

color

color

16진수 색상 값만 지원됩니다. blue 등의 명명된 색상은 지원되지 않습니다. 색상은 #FF0000 형식으로 쓰여집니다.

display

display

지원되는 값은 inline, block none입니다.

font-family

fontFamily

쉼표로 분리되는 글꼴 목록이며 내림차순으로 되어 있습니다. 모든 글꼴 집합 이름이 사용될 수 있습니다. 글꼴 이름을 지정하면 해당되는 장치 글꼴로 변환됩니다. mono_typewriter로 변환되고, sans-serif_sans로 변환되며, serif_serif로 변환되는 등의 글꼴 변환이 발생합니다.

font-size

fontSize

값의 숫자 부분만 사용됩니다. 단위(px, pt)는 해석되지 않으며 픽셀과 포인트를 동일하게 처리합니다.

font-style

fontStyle

인식되는 값은 normal italic입니다.

font-weight

fontWeight

인식되는 값은 normal bold입니다.

kerning

kerning

인식되는 값은 true false입니다. 자간은 포함된 글꼴에만 지원됩니다. 일부 글꼴(: Courier New)은 자간을 지원하지 않습니다. kerning 속성은 Windows에서 만든 SWF 파일에서만 지원되고 Macintosh에서 만든 SWF 파일에서는 지원되지 않습니다. 그러나 이러한 SWF 파일은 Windows가 아닌 버전의 Flash Player에서 재생될 수 있으며 자간은 그대로 적용됩니다.

leading

leading

행 사이에 일정하게 분배되는 간격 크기입니다. 값은 각 행 뒤에 추가되는 픽셀 수를 지정합니다. 음수 값을 사용하면 행 사이의 간격이 좁아집니다. 값의 숫자 부분만 사용됩니다. 단위(px, pt)는 해석되지 않으며 픽셀과 포인트를 동일하게 처리합니다.

letter-spacing

letterSpacing

글자 사이에 일정하게 분배되는 간격 크기입니다. 값은 각 문자 뒤에 추가되는 픽셀 수를 지정합니다. 음수 값을 사용하면 문자 사이의 간격이 좁아집니다. 값의 숫자 부분만 사용됩니다. 단위(px, pt)는 해석되지 않으며 픽셀과 포인트를 동일하게 처리합니다.

margin-left

marginLeft

값의 숫자 부분만 사용됩니다. 단위(px, pt)는 해석되지 않으며 픽셀과 포인트를 동일하게 처리합니다.

margin-right

marginRight

값의 숫자 부분만 사용됩니다. 단위(px, pt)는 해석되지 않으며 픽셀과 포인트를 동일하게 처리합니다.

text-align

textAlign

인식되는 값은 left, center, right justify입니다.

text-decoration

textDecoration

인식되는 값은 none underline입니다.

text-indent

textIndent

값의 숫자 부분만 사용됩니다. 단위(px, pt)는 해석되지 않으며 픽셀과 포인트를 동일하게 처리합니다.

 위의 표는 css에서 사용하는 서식의 속성들이다 AS3에서도 Object를 통해 위에 표기된 이름으로 속성을 설정하면 css와 같은 역할을 하지만 AS3 내부에서 처리하려면 TextFormat으 사용하는 것이 좋을 것 같다.

htmlText에 적용법은 일반 html에 적용하듯이 사용하면 된다.
TextField.styleSheet = css;
TextField.htmlText = "<span class='emphasis'>'이동통신망으로 양방향 TV 본다!'</span>을...... 체결했다고 5일 밝혔다.";
위에 빨간 구간이 css에 영향을 받는 서식이 된다.

Posted by 버터백통

텍스트필드에 글자모양이나 간격, 밑줄, 두께, Margin등 좀더 세밀한 서식을 만들기 위해서는 TextFormat클래스를 사용한다. 이 클래스는 text나 htmlText에 모두 적용할 수 있고 TextField의 defaultTextFormat 속성이나 setTextFormat() 메서드를 통하여 설정한다.

[ Public 속성 ]
align : String
단락의 정렬을 나타냅니다.

blockIndent : Object
블록 들여쓰기를 픽셀 단위로 나타냅니다.

bold : Object
텍스트를 굵게 표시할지 여부를 지정합니다.

bullet : Object
텍스트가 불릿 목록의 일부임을 나타냅니다.

color : Object
텍스트의 색상을 나타냅니다.

font : String
이 텍스트 서식의 텍스트 글꼴 이름을 나타내는 문자열입니다.

indent : Object
왼쪽 여백에서 단락의 첫 문자 사이의 들여쓰기를 나타냅니다.

italic : Object
이 텍스트 서식의 텍스트가 기울임체인지 여부를 나타냅니다.

kerning : Object
자간의 활성화 여부를 true 또는 false로 나타내는 부울 값입니다.

leading : Object
행 사이의 세로 간격(행간)을 나타내는 정수입니다.

leftMargin : Object
단락의 왼쪽 여백(픽셀 단위)입니다.

letterSpacing : Object
모든 문자 사이에 균등하게 분배되는 간격을 나타내는 정수입니다.

rightMargin : Object
단락의 오른쪽 여백(픽셀 단위)입니다.

size : Object
이 텍스트 서식에서 텍스트의 포인트 크기입니다.

tabStops : Array
사용자 정의 탭 중지를 음이 아닌 정수의 배열로 지정합니다.

target : String
하이퍼링크가 표시되는 대상 윈도우를 나타냅니다.

underline : Object
이 텍스트 서식을 사용하는 텍스트에 밑줄을 그을지 여부를 true 또는 false로 나타냅니다.

url : String
이 텍스트 서식의 텍스트에 대한 대상 URL을 나타냅니다.

위의 속성을 설정하면 TextField에 defaultTextFormat 속성에 formater를 반영하거나 setTextFormat()메서드를 통해 사용할 구간과 format를 반영할 수 있다.

defaultTextFormat는 필드의 속성이므로 한번 반영되면 일괄적으로 모든 내용에 서식이 적용된다. 그리고 내용이 입력되기 전에 속성을 설정하여야 서식이 내용에 반영된다.

setTextFormat내용이 바뀌면 사라지는 휘발성이지만 내용의 일부분에만 효과를 줄 수있다. 그리고 내용이 바뀌지 않는다면 setTextFormat는 누적 사용가능하다. 따라서 사용자의 액션에 의해 서식을 추가 할 수 있다.



왼쪽은 text로 내용을 설정한 것이고 오른쪽은 htmlText로 내용을 설정하였다. 내용갱신은 같은 내용을 다시 입력하게 한것이다. defaultTextFormat를 클릭하면 현재 보이는 내용이 입력된 후에 필드에 적용되므로 내용갱신을 눌러야 적용되는 모습을 볼 수 있고 그전에 내용 구간에만 setTextFormat가 반영되는 모습을 확인할 수 있다.
Posted by 버터백통

텍스트 필드에는 내용을 스크롤 할 수 있는 스크롤 속성을 제공한다. 보통은 스크롤 클래스를 만들어 마스크를 이용하여 개발하지만 간혹가다가 mp3플레이어에서 제목이나 가사를 자동 스크롤할 때나 게시판 목록에서 일부 필드에 보여지는 영역보다 많은 내용이 등록되어있어서 마우스 오버하면 가로로 marquee하면서 가려진 내용을 보여주고자 할때 사용하면 편리할 것 같다.

속성은 scrollV , maxScrollV , bottomScrollV , scrollH , maxScrollH 속성이 있다.
세로로 스크롤 하고자 하면 Vertical형태의 속성을 사용하면 되고 가로로 스크롤 하고자 하면 Horizontal형태의 속성을 사용하면 된다.

세로형은 보통 내용의 인덱스 값으로 이동을 하게 되는데 scrollV는 정수(글씨의 순번에 의한 위치 가령 대한민국에서 1:대 , 2:한 , 3:민 , 4:국)일 때 scrollV = 2 를 하면 민부터 내용이 보여지게 된다.
bottomScrollV는 현재보이는 마지막 문자열이 제일 위로 올라왔을 때 보여질 마지막 문자열의 순번을 반환한다.
maxScrollV는 내용의 마지막 문자열이 보일수 있도록 텍스트 필드의 크기에 따라 계산되어 보일수 있는 첫번째 문자열 번호를 반환한다.

가로형은 세로형과 달리 픽셀정보를 사용한다.
scrollH -= 10을 입력하면 10픽셀씩 왼쪽으로 이동한다.
maxScrollH는 마지막 값을 보일수 있도록 이동할 수 있는 최대 픽셀 값이다. 가령 maxScrollH의 값이 150이면 scrollH 에 150을 입력하면 마지막 내용을 볼수 있다. 이 값은 DYNAMIC타입과 INPUT타입에 따라 값이 50픽셀의 차이가 있다. INPUT인 경우에는 입력할 수 있도록 클릭할 영역 50픽셀의 버퍼를 제공하기 때문에 maxScrollH의 값은 텍스트필드의 타입에 따라 값이 다르게 된다.

Posted by 버터백통
보통 디자인된 필드의 크기를 바꾸는 일은 거의 없다. 하지만 그래픽편집기 툴을 제작하는 경우에는 입력된 값의 크기대로 작업영역에 붙어야 한다. 그런 경우에 사용하는 것이 autoSize라는 속성이다. 이는 플래시에서 만든 텍스트 필드이건 AS3에서 생성하여 붙인 텍스트필드이건 필드의 크기를 내용에 맞게 줄여주거나 늘려준다. 단 wordWrap이 autoSize이후에 true로 설정되면 반영되지 않는다.
wordWrap은 true인 경우 필드의 크기를 기준으로 줄바꿈을 실행한다. 보틍은 false가 기본값으로 autoSize를 사용시에는 사용하지 않는다.

autoSize에는 4개의 값이 입력가능한데 이는 TextFieldAutoSize에서 상수로 선언되어있다.
CENTER : String = "center"
텍스트를 가운데 정렬 텍스트로 간주하도록 지정합니다.

LEFT : String = "left"
텍스트를 왼쪽 정렬 텍스트로 간주하여 텍스트 필드의 왼쪽이 고정된 채로 유지되고 단일 행의 오른쪽에서만 크기가 조절되도록 지정합니다.

NONE : String = "none"
크기를 조절하지 않도록 지정합니다.

RIGHT : String = "right"
텍스트를 오른쪽 정렬 텍스트로 간주하여 텍스트 필드의 오른쪽이 고정된 채로 유지되고 단일 행의 왼쪽에서만 크기가 조절되도록 지정합니다.
Posted by 버터백통
텍스트의 입력 값이건 String값을 표현하려면 text/htmlText라는 속성 설정한다. 또한 추가로 내용을 덧불일려면 appendText()를 사용하는 것이 " += "보다 훨씬 효율적이다.

텍스트 필드에는 표현 방식이 2가지가 있는데 text와 htmlText이다. 이들 둘은 약간의 장단점을 가지고 있다.

text는 내용을 기본 설정 서식에 따라 일괄적으로 서식을 보여준다. 부분적으로 서식을 바꾸고 싶으면 setTextFormat을 사용하여 적용할 인덱스 범위를 설정해야 하기 때문에 번거로울 수 있다. 하지만 변함 없는 서식에서는 섬세한 설정이 가능하다.

htmlText는 흔히 사용하는 태그 방식으로 서식을 설정할 수 있고 css를 만들어 styleSheet속성에 적용하면 외부 파일인 css의 수정만으로 서식을 자유롭게 사용할 수있다. 그러나 서식을 구간이나 형태를 바꿀려고 하면 역시 번거롭기는 마찬가지다.

htmlText에서 지원이 되는 태그는 아래와 같다.

태그

설명

앵커 태그

<a> 태그는 하이퍼링크를 만들며 다음 특성을 지원합니다.

  • href: URL은 페이지를 로드하는 SWF 파일의 절대적 또는 상대적 위치입니다. URL에 대한 절대 참조의 예로는 http://www.adobe.com, 상대 참조의 예로는 /index.html이 있습니다. 절대 URL 앞에는 http:// 접두어가 있어야 합니다. 그렇지 않으면 해당 URL이 상대 URL로 간주됩니다.
  • event: event 특성을 사용하면 사용자가 하이퍼링크를 클릭할 때 전달되는 link TextEventtext 속성을 지정할 수 있습니다. event:myEvent를 예로 들 수 있습니다. 사용자가 이 하이퍼링크를 클릭하면 텍스트 필드에서 text 속성이 "myEvent"로 설정된 link TextEvent를 전달합니다.
  • target: 페이지를 로드할 대상 윈도우의 이름을 지정합니다. 사용 가능한 옵션에는 _self, _blank, _parent _top 등이 있습니다. _self 옵션은 현재 윈도우의 현재 프레임을 지정하고, _blank는 새로운 윈도우를 지정하고, _parent는 현재 프레임의 부모를 지정하고, _top은 현재 윈도우의 최상위 프레임을 지정합니다.

링크 이벤트를 사용하면 링크를 통해 URL을 여는 대신 SWF 파일에서 ActionScript 함수를 실행할 수 있습니다.

스타일 시트를 사용하여 앵커 태그의 a:link, a:hover a:active 스타일을 정의할 수도 있습니다.

굵게 태그

<b> 태그는 텍스트를 굵은 글꼴로 렌더링합니다. 이때 사용된 글꼴이 굵은 글꼴을 지원해야 합니다.

행 분리 태그

<br> 태그는 텍스트 필드에서 줄을 바꿉니다. 이 태그를 사용하려면 텍스트 필드를 여러 행 텍스트 필드로 설정해야 합니다.

글꼴 태그

<font> 태그는 텍스트를 표시할 글꼴 또는 글꼴 목록을 지정합니다. 지원되는 특성은 다음과 같습니다.

  • color: 16진수 색상(#FFFFFF) 값만 지원됩니다.
  • face: 사용할 글꼴의 이름을 지정합니다. 다음 예제와 같이 글꼴 이름 목록을 쉼표로 구분하여 지정할 수도 있습니다. 이 경우 Flash Player에서는 사용 가능한 첫 번째 글꼴이 선택됩니다. 지정된 글꼴이 사용자의 컴퓨터 시스템에 설치되어 있지 않거나 SWF에 포함되어 있지 않으면 Flash Player에서는 대체 글꼴이 선택됩니다.
  • size: 글꼴의 크기를 지정합니다. 16 또는 18 등의 절대 픽셀 크기를 사용할 수도 있고, +2 또는 -4 등의 상대 포인트 크기를 사용할 수도 있습니다.

이미지 태그

<img> 태그를 사용하면 외부 이미지 파일(JPEG, GIF, PNG), SWF 파일 및 무비 클립을 텍스트 필드에 포함할 수 있습니다. 텍스트는 텍스트 필드에 포함된 이미지 주위로 자동 전개됩니다. 이 태그를 사용하려면 텍스트 필드를 여러 행 텍스트 필드로 설정하고 텍스트 줄 바꿈을 설정해야 합니다.

<img> 태그는 다음 특성을 지원합니다.

  • src: 이미지나 SWF 파일에 대한 URL 또는 라이브러리의 무비 클립 심볼에 대한 링크 식별자를 지정합니다. 이 특성은 필수이며, 그 외의 다른 특성은 선택 사항입니다. 외부 파일(JPEG, GIF, PNG SWF 파일)은 완전히 다운로드될 때까지 표시되지 않습니다.
  • width: 삽입할 이미지, SWF 파일 또는 무비 클립의 폭(픽셀 단위)입니다.
  • height: 삽입할 이미지, SWF 파일 또는 무비 클립의 높이(픽셀 단위)입니다.
  • align: 텍스트 필드 내에 포함된 이미지의 가로 정렬 방법을 지정합니다. leftright 값을 사용할 수 있으며 기본값은 left입니다.
  • hspace: 이미지의 왼쪽과 오른쪽에 텍스트를 표시하지 않을 간격을 지정합니다. 기본값은 8입니다.
  • vspace: 이미지의 위쪽과 아래쪽에 텍스트를 표시하지 않을 간격을 지정합니다. 기본값은 8입니다.
  • id: 이미지 파일, SWF 파일 또는 무비 클립이 포함된 Flash Player로 만든 무비 클립 인스턴스의 이름을 지정합니다. 이는 포함된 내용을 ActionScript로 제어하려는 경우 유용합니다.
  • checkPolicyFile: Flash Player에서 이미지의 도메인과 관련된 서버의 크로스 도메인 정책 파일을 확인하도록 지정합니다. 크로스 도메인 정책 파일이 있으면 이 파일에 나열된 도메인의 SWF 파일에서 로드된 이미지의 데이터에 액세스할 수 있습니다. 예를 들어 로드된 이미지를 source 매개 변수로 사용하여 BitmapData.draw() 메서드를 호출할 수 있습니다. 자세한 내용은 ActionScript 3.0 프로그래밍 "Flash Player 보안" 장을 참조하십시오.

Flash에서는 텍스트 필드에 포함된 미디어를 전체 크기로 표시합니다. 포함되는 미디어의 크기를 지정하려면 <img> 태그의 height width 특성을 사용합니다.

일반적으로 텍스트 필드에 포함된 이미지는 <img> 태그 다음 줄에 표시됩니다. 그러나 <img> 태그가 텍스트 필드의 첫 문자인 경우에는 이미지가 텍스트 필드의 첫 줄에 표시됩니다.

기울임체 태그

<i> 태그는 대상 텍스트를 기울임체로 표시합니다. 이때 사용된 글꼴이 기울임체를 지원해야 합니다.

목록 항목 태그

<li> 태그는 이 태그로 둘러싼 텍스트 앞에 불릿 기호를 표시합니다. 참고: Flash Player에서는 순서 있는 목록 태그와 순서 없는 목록 태그(<ol> <ul>)가 인식되지 않으므로 이러한 태그는 목록의 렌더링 방식에 영향을 주지 않습니다. 모든 목록에는 순서가 없으며 모든 목록 항목에 불릿 기호가 사용됩니다.

단락 태그

<p> 태그는 새로운 단락을 만듭니다. 이 태그를 사용하려면 텍스트 필드를 여러 행 텍스트 필드로 설정해야 합니다. <p> 태그는 다음 특성을 지원합니다.

  • align: 단락 내에서 텍스트 정렬 방법을 지정합니다. left, right, justify center 값을 사용할 수 있습니다.
  • class: flash.text.StyleSheet 객체로 정의된 CSS 스타일 클래스를 지정합니다.

스타일 범위 지정 태그

<span> 태그는 CSS 텍스트 스타일과 함께 사용해야 합니다. 이 태그는 다음 특성을 지원합니다.

  • class: flash.text.StyleSheet 객체로 정의된 CSS 스타일 클래스를 지정합니다.

텍스트 서식 태그

<textformat> 태그를 사용하면 행간, 들여쓰기, 여백, 탭 위치 등 TextFormat 클래스의 단락 서식 속성 하위 집합을 텍스트 필드 내에서 사용할 수 있습니다. <textformat> 태그는 내장된 HTML 태그와 함께 사용할 수 있습니다.

<textformat> 태그에는 다음과 같은 특성이 있습니다.

  • blockindent: 블록 들여쓰기를 포인트 단위로 지정하며 TextFormat.blockIndent에 해당합니다.
  • indent: 왼쪽 여백에서 단락의 첫 글자 사이의 들여쓰기를 지정하며 TextFormat.indent에 해당합니다. 양수와 음수를 모두 사용할 수 있습니다.
  • leading: 행 사이의 행간(세로 간격)을 지정하며 TextFormat.leading에 해당합니다. 양수와 음수를 모두 사용할 수 있습니다.
  • leftmargin: 단락의 왼쪽 여백을 포인트 단위로 지정하며 TextFormat.leftMargin에 해당합니다.
  • rightmargin: 단락의 오른쪽 여백을 포인트 단위로 지정하며 TextFormat.rightMargin에 해당합니다.
  • tabstops: 사용자 정의 탭 위치를 음수가 아닌 정수의 배열로 지정하며 TextFormat.tabStops에 해당합니다.

밑줄 태그

<u> 태그는 대상 텍스트에 밑줄을 긋습니다.

 
참고로 htmlText에는 몇가지 속성이 더 있는데 그중에 유용한 것이 condenseWhite라는 속성이다. 이는 내용 중에 공백이 있을 경우 불필요한 공백을 줄여준다. 보통은 브라우저에서 처리해 주지만 AS3에서 제공하는 텍스트필드는 브라우저의 영향을 받지 못하므로 따로 설정을 한다.

Posted by 버터백통
텍스트필드에 입력되는 글자를 제항 할 수 있는 속성이 있다. restrict이라는 속성인데 값이 설정되면 해당 문자만 입력이 가능하다 가령 알파벳만 입력하고 싶은 경우에는 restrict = "a-z" 라고 범위를 " - "로 설정한다. 그리고 범위에서 입력하기 싫은 문자는 " ^ "를 사용하여 입력 범위에서 뺄 수 있다. restrict = "0-9^5" 는 5를 제외한 숫자만 입력이 가능하다.
Posted by 버터백통
텍스트 필드만으로 이쁘고 멋진 것을 디자인하여 만들어 보일 순 없다. 그러나 몇가지 visual관련 속성을 제공하는데 boader(테두리,값은 Boolean)와 필드에 backgroundColor(배경색,값은 16진수)을 만들 수 있다. 그리고 텍스트의 타입을 설정할 수 있는데 static텍스트 필드는 플래시에서 만들어와야 하지만 다이나믹이나 인풋 텍스트 필드는 AS3에서 필드의 속성을 통해 변경할 수 있다. 이전 버전에서도 제공되었지만 AS3로 개발을 하다보면 금융권의 이체나 결재등의 입력시에 다이나믹과 인풋을 한개의 텍스트필드를 통해 번갈아가며 사용해야 하는 경우가 있다. 그런 경우는 필드의 type속성을 TextFieldType에 상수로 설정되어있는 DYNAMIC이나 INPUT으로 설정할 수 있다.
그리고 인풋텍스트 타입인 경우 입력글자의 제한을 둘 수 있다. maxChars는 입력 글자 수를 설정할 수 있다.

이외에 간간히 사용되는게 암호입력이다. 이 속성은 인풋타입일때  displayAsPassword를 true로 설정하면
* 모양으로 암호화되어서 보인다. 주의해야 할 것은 입력되는 글자를 확인하면 한글이나 영문입력의 데이터가 그대로 입력된다는 것을 알 수 있다. 따라서 값을 가공하거나 encrypt 툴이나 알고리즘을 이용하여 값을 변형시켜야 한다. 가령 "한글"이라고 입력하면 보이기는 ******이라고 보이지만 값은 암호화나 압축데이터가 아니고 "한글"이라고 값을 알 수 있다....당연한거 겠지만 보안이 필요한 서비스일 경우 encrypt 연동이 필수이다.

* 텍스트필드의 속성
Posted by 버터백통

AS3에서 모든 텍스트는 TextField클래스를 사용한다. TextField에는 Dynamic과 Input타입을 제공하여 입력과 출력이 가능하며 보더(테두리)나 배경색을 설정하게 할 수 있고, html텍스트나 css등을 구현할 수 있다. 현재 구현되는 모든 텍스트 입출력 기능은 TextField클래스에서 구현하고있다. 따라서 속성이나 메서드가 비교적 많이 설계되어있고 마찬가지로 화면에 보이게 할려면 디스플레이 리스트에 등록을 하여야 한다.

[ Public 속성 ]
alwaysShowSelection : Boolean
true로 설정하면 텍스트 필드에 포커스가 없는 경우 Flash Player에서 텍스트 필드의 선택 영역이 회색으로 강조 표시됩니다.

antiAliasType : String
이 텍스트 필드에 사용되는 앤티앨리어싱 유형입니다.

autoSize : String
텍스트 필드의 자동 크기 조절 및 정렬을 제어합니다.

background : Boolean
텍스트 필드에 배경 칠이 있는지 여부를 지정합니다.

backgroundColor : uint
텍스트 필드의 배경색입니다.

border : Boolean
텍스트 필드에 테두리가 있는지 여부를 지정합니다.

borderColor : uint
텍스트 필드의 테두리 색상입니다.

bottomScrollV : int
[read-only] 지정된 텍스트 필드에서 현재 맨 아래에 표시되는 행을 나타내는 정수 인덱스(1부터 시작)입니다.

caretIndex : int
[read-only] 삽입점(캐럿) 위치의 인덱스입니다.

condenseWhite : Boolean
HTML 텍스트가 있는 텍스트 필드에서 공백 문자, 줄 바꿈 등의 불필요한 공백을 제거할지 여부를 지정하는 부울 값입니다.

defaultTextFormat : TextFormat
replaceSelectedText() 메서드로 삽입한 텍스트 또는 사용자가 입력한 텍스트 등 새로 삽입되는 텍스트에 적용할 서식을 지정합니다.

displayAsPassword : Boolean
텍스트 필드가 암호 텍스트 필드인지 여부를 지정합니다.

embedFonts : Boolean
포함된 글꼴 외곽선을 사용하여 렌더링할지 여부를 지정합니다.

gridFitType : String
이 텍스트 필드에 사용되는 격자 맞춤의 유형입니다.

htmlText : String
텍스트 필드의 내용에 대한 HTML 표현이 들어 있습니다.

length : int
[read-only] 텍스트 필드의 문자 수입니다.

maxChars : int
사용자가 입력하여 텍스트 필드에 포함될 수 있는 최대 문자 수입니다.

maxScrollH : int
[read-only] scrollH의 최대값입니다.

maxScrollV : int
[read-only] scrollV의 최대값입니다.

mouseWheelEnabled : Boolean
사용자가 텍스트 필드를 클릭하고 마우스 휠을 굴릴 때 여러 줄 텍스트 필드가 자동으로 스크롤되는지 여부를 나타내는 부울 값입니다.

multiline : Boolean
텍스트 필드가 여러 행 텍스트 필드인지 여부를 나타냅니다.

numLines : int
[read-only] 여러 행 텍스트 필드의 텍스트 행 수를 정의합니다.
 
restrict : String
사용자가 텍스트 필드에 입력할 수 있는 문자 세트를 나타냅니다.

scrollH : int
현재 가로 스크롤 위치입니다.

scrollV : int
텍스트 필드에서 텍스트의 수직 위치입니다.

selectable : Boolean
텍스트 필드를 선택할 수 있는지 여부를 나타내는 부울 값입니다.

selectionBeginIndex : int
[read-only] 현재 선택 영역에 있는 첫 문자의 인덱스 값(0부터 시작)입니다.

selectionEndIndex : int
[read-only] 현재 선택 영역에 있는 마지막 문자의 인덱스 값(0부터 시작)입니다.

sharpness : Number
이 텍스트 필드의 글리프 가장자리 선명도입니다.

styleSheet : StyleSheet
텍스트 필드에 스타일 시트를 연결합니다.

text : String
텍스트 필드의 현재 텍스트인 문자열입니다.

textColor : uint
텍스트 필드의 16진수 형식 텍스트 색상입니다.

textHeight : Number
[read-only] 텍스트의 높이(픽셀 단위)입니다.

textWidth : Number
[read-only] 텍스트의 폭(픽셀 단위)입니다.

thickness : Number
이 텍스트 필드의 글리프 가장자리 두께입니다.

type : String
텍스트 필드의 유형입니다.

useRichTextClipboard : Boolean
텍스트와 함께 텍스트 서식을 복사하여 붙여 넣을지 여부를 지정합니다.

wordWrap : Boolean
텍스트 필드에 자동 줄 바꿈이 사용되는지 여부를 나타내는 부울 값입니다.


[ Public 메서드 ]
TextField()

새 TextField 인스턴스를 만듭니다.

appendText(newText:String):void
newText 매개 변수에 지정된 문자열을 텍스트 필드의 텍스트 끝에 추가합니다.

getCharBoundaries(charIndex:int):Rectangle
문자의 경계 상자인 사각형을 반환합니다.

getCharIndexAtPoint(x:Number, y:Number):int
x 및 y 매개 변수로 지정된 점에 있는 문자의 인덱스 값(0부터 시작)을 반환합니다.

getFirstCharInParagraph(charIndex:int):int
지정된 문자 인덱스와 같은 단락에 있는 첫 문자의 인덱스를 반환합니다.

getImageReference(id:String):DisplayObject
<img> 태그를 사용하여 HTML 형식 텍스트 필드에 추가된 이미지 또는 SWF 파일에 대한 지정된 ID의 DisplayObject 참조를 반환합니다.

getLineIndexAtPoint(x:Number, y:Number):int
x 및 y 매개 변수로 지정된 점에 있는 문자의 인덱스 값(0부터 시작)을 반환합니다.

getLineIndexOfChar(charIndex:int):int
charIndex 매개 변수로 지정된 문자가 들어 있는 행의 인덱스 값(0부터 시작)을 반환합니다.

getLineLength(lineIndex:int):int
특정 텍스트 행의 문자 수를 반환합니다.

getLineMetrics(lineIndex:int):TextLineMetrics
지정된 텍스트 행에 대한 메트릭 정보를 반환합니다.

getLineOffset(lineIndex:int):int
lineIndex 매개 변수로 지정된 행에 있는 첫 문자의 문자 인덱스를 반환합니다.

getLineText(lineIndex:int):String
lineIndex 매개 변수로 지정된 행의 텍스트를 반환합니다.

getParagraphLength(charIndex:int):int
지정된 문자 인덱스가 포함된 단락의 길이를 반환합니다.

getTextFormat(beginIndex:int = -1, endIndex:int = -1):TextFormat
beginIndex 및 endIndex 매개 변수로 지정된 텍스트 범위에 대한 서식 정보가 들어 있는 TextFormat 객체를 반환합니다.

replaceSelectedText(value:String):void
현재 선택 내용을 value 매개 변수의 내용으로 바꿉니다.

replaceText(beginIndex:int, endIndex:int, newText:String):void
beginIndex 및 endIndex 매개 변수로 지정된 문자 범위를 newText 매개 변수의 내용으로 바꿉니다.

setSelection(beginIndex:int, endIndex:int):void
beginIndex 및 endIndex 매개 변수로 지정된 첫 번째 및 마지막 문자의 인덱스 값으로 지정된 텍스트를 선택된 상태로 설정합니다.

setTextFormat(format:TextFormat, beginIndex:int = -1, endIndex:int = -1):void
텍스트 필드의 지정된 텍스트에 format 매개 변수로 지정된 텍스트 서식을 적용합니다.

[ 이벤트 ] 
change 
컨트롤의 값이 수정된 경우에 전달됩니다.

link 
사용자가 HTML 사용 가능 텍스트 필드에서 URL이 "event:"로 시작되는 하이퍼링크를 클릭할 때 전달됩니다.

scroll 
사용자가 스크롤한 후 TextField 객체에 의해 전달됩니다.

textInput 
사용자가 텍스트를 한 글자 이상 입력하면 Flash Player에서 textInput 이벤트를 전달합니다.

Posted by 버터백통