2012-12-27 3 views
0

현재 textField의 동작은 모든 텍스트를 HTML 인 것처럼 렌더링합니다. html과 비슷하게 시스템에 일반 텍스트라고 알려줄 수 있습니까?AS3 : textField에 일반 텍스트 렌더링

AS2에는이 동작을 얻으려면 false로 설정할 수있는 .html 속성이 있었지만 조금 사라졌습니다.

나는 원하는 동작을 얻기 위해 입력을 html로 이스케이프 처리 할 수 ​​있다는 것을 잘 알고 있지만 가장 깨끗하고 간단한 해결책을 찾고있다. (또한 그것은 내 자신의 HTML 이스케이프 함수를 작성해야 할 것 ...)

+1

어떤 "텍스트 필드"수업을 언급하고 있습니까? 당신은 (플렉스가 아닌) 네이티브 플래시 플레이어 클래스 인'TextField'에 대해 언급했지만, 플렉스를 사용하고있는 것처럼 보입니다. TextField 클래스는'htmlText' 속성을 가지고 있습니다. 그래서 당신이 그 속성을 사용했다면 HTML 만 렌더링했고, TextField의'text' 속성을 사용하여 원하는 효과를 얻었습니다. –

+0

@SunilD. 죄송합니다. 플렉스와 플래시의 차이점에 대해서는 명확하지 않습니다. 나는 내가 생각하기에 그들이 서로 교환 할 수 있다고 생각했다. 당신의 제안에 따라, .text에 할당하는 것은 당신이 기대하는 행동을하지 않습니다. 이 동작은 .htmlText에 할당하는 것과 완전히 동일합니다. – bukzor

답변

4

AS3 텍스트 필드에는 texthtmlText의 두 가지 속성이 있습니다. text 속성은 html처럼 보일지라도 일반 텍스트를 표시하는 데 사용할 수 있습니다. 두 속성은 플래시에 의해 자동으로 연결되므로 text을 편집하면 htmlText이 업데이트되고 그 반대의 경우도 마찬가지입니다.

목표를 달성하려면 text 속성을 사용할 수 있어야합니다. 불행하게도, 텍스트 필드와 함께 스타일 시트를 사용한다면, 두 속성 모두 HTML로 취급 될 것입니다. 이 경우 두 가지 선택 사항이 있습니다. 간단한 TextFormat 객체를 사용하여 스타일 시트없이 스타일을 수행 할 수 있습니다.이 스타일 시트는 스타일 시트가 너무 복잡하지 않은 경우 간단 할 수 있습니다. 스타일 시트를 실제로 사용해야하는 경우 두 텍스트 속성 사이의 AS3 연결을 활용하여 텍스트를 자동으로 이스케이프 처리 할 수 ​​있습니다. 예를 들어

, 당신은 스타일 시트를 사용 tf라는 텍스트 필드를 업데이트하고 싶었다,하지만 당신은 일반 텍스트를 원한다면, 당신은 이런 식으로 그것을 할 수 :

var temp:TextField = new TextField(); 
temp.text = plainText; 
tf.text = temp.htmlText; 

임시 텍스트 필드가 자동으로 생성됩니다 이스케이프 처리 된 HTML을 실제 텍스트 필드에서 사용할 수 있습니다.

+0

올바르지 않습니다. ' 테스트'을'.text'로 지정하면 기울임 꼴 텍스트가 생성되고'.htmlText'는 이스케이프 처리되지 않은'' 태그를 포함합니다. – bukzor

+0

@bukzor 무슨 말씀 이세요? 어떤 수업을하고 있습니까? 방금 표준 'TextField'로 시도하고' test '을 화면에 표시했습니다. 기울임 체를 찾을 수 없습니다. –

+0

'flash.text.TextField' 저는 이것을 아주 철저히 검증했습니다. 그것은 제가 시도한 첫 번째 것입니다. – bukzor