2013-07-16 8 views
1

저는 액션 스크립트 초보자입니다. 결국 무대에서 객체를 정렬하는 코드를 작성하고이를 수행하기 위해 객체의 크기를 알아야합니다. 나는 '너비'속성에서 기대하지 않은 행동을하고 있습니다. 다음에서 TextField에서 사용하는 텍스트의 폭과 넓이에 관계없이 'width'속성은 100입니다. 그려진 픽셀의 실제 너비가 무엇인지 어떻게 알 수 있습니까? 아니면 실제 높이? 이것은 Qt가 호출 할 것처럼 경계 사각형을 찾는 것과 같습니다. 경계 사각형 안에 모든 자식을 포함 시키려면 어떨까요?스프라이트의 실제 그린 픽셀 폭

public class App1 extends Sprite { 

public function App1() { 
    var t:TextField = new TextField(); 
    t.text = "Foo Foo"; 
    addChild(t); 
    trace(t.width); 
} 
} 

답변

1

기본적으로 TextField의 텍스트가 실제 텍스트 필드 크기에 영향을주지 않기 때문입니다. 사용자의 이메일을 수집하기 위해 텍스트 필드를 놓고 상상해보십시오. 사용자 광고가 점점 더 많아지면 텍스트 필드가 흐려지는 것을 원하지 않습니다. 기본적으로 새 텍스트 필드는 텍스트와 상관없이 100 픽셀입니다. 포함. 그러나 autoSize 속성을 사용하여 TextField를 동적으로 확장시킬 수는 있습니다.

http://help.adobe.com/en_US/FlashPlatform/reference/actionscript/3/flash/text/TextField.html#autoSize

이 시도 :

은 여러가 true로 설정되어있는 경우, 텍스트 필드가 확대되지 않습니다 것을 염두에
  var t:TextField = new TextField(); 
      t.autoSize = TextFieldAutoSize.LEFT; 
      t.text = "Foo Foo qdfqsdfqsdfq sdfqsdfqsdfqsdf qsdf"; 
      addChild(t); 
      trace(t.width); 

유지, 그것은 다음 라인으로 얻을 것이다 ...

관련 문제