2012-09-26 3 views
0

MovieClip을 확장하는 객체가있는 경우, 예를 들어 사용자 정의 내장 텍스트 필드 클래스 (InputField)라고 가정 해 봅시다.as3, 매개 변수가있는 무대에서 객체 인스턴스화

InputField 생성자에는 두 개의 매개 변수 (placeholderText : String = null, displayAsPassword : Boolean = false)가 있습니다.

무비 클립을 스테이지로 드래그하면 구성되지만 매개 변수는 설정되지 않습니다. 건설 시간에 그들을 설정할 수있는 방법이 있습니까?

분명히 말하면이 무비 클립을 무대에 드래그하여 만들지 않고 코드 뒤에 addChild()를 할 수 있기를 원합니다.

+0

구문 (작성자 시간)과 실행 시간의 차이와 혼동을 느낍니다. 표준 방식의 코드는 작성자가 실행하는 동안 실행되지 않습니다 (항목을 라이브러리에서 스테이지로 드래그). 구성 요소 작성 방법을 읽어 보시기 바랍니다. –

+0

더 구체적으로 시간 구성 요소 프레임 워크를 살펴보십시오. –

+0

@The_asMan : 고마워요,하지만 그건 문제가 아닙니다. AS3에 익숙하지만 플래시 프로 인터페이스에는 좋지 않습니다. 인터페이스에 어떻게 든 구성 변수를 설정하는 방법이 있는지 궁금합니다. 아래의 2 가지 대답은 정확합니다 - 할 방법이 없습니다. – Drahcir

답변

1

내부에있는 변수를 초기화 할 수 있으며 심볼을 스테이지에 배치하자마자 설정됩니다. 또한 .as 파일에서이 변수에 계속 액세스 할 수 있습니다.

편집 : 당신은 예를 들어, 당신은 당신이 기본적으로 원하는대로 값을 설정 설정 한 클래스에서 두 개의 변수를 선언 할 때 의견을 연장하려면 :

class MyInputField 
{ 
    // Will always set following variables to default values, 
    // whether using addChild or dragging symbol onto stage. 
    var placeholderText:String = "Enter text here.."; 
    var displayAsPassword:Boolean = false; 

    // If needed, store text field via constructor 
    var tf:TextField; 

    // Constructor 
    function MyInputField() 
    { 
    } 
} 
+0

감사합니다. 좀 더 설명해주세요. "상징의 의미"란 무엇을 의미합니까? – Drahcir

+0

스테이지로 드래그 한 텍스트 필드는 객체로 액세스 할 수 있습니다. 해당 텍스트 필드는 "기호"입니다. 따라서 속성으로 이동하여 해당 변수를 설정하십시오. – Vesper

+0

@Vesper : 네, 그게 제가 한 일입니다. 어떻게 든 구성 매개 변수를 설정할 수 있는지 알고 싶었습니다. – Drahcir

1

내가 돈 ' 이것이 좋은 생각인지는 알지만, InputField을 확장하는 클래스를 만들 수 있습니다. super 함수 내에서 생성자 매개 변수를 변경할 수 있습니다. 지금 생성자에서 사용할 때

public function CustomInputField() { 
    super("hello", true); 
} 

그러나, 나는 동일한 매개 변수와 함께, 공공 기능 init() 갈 것입니다.

Btw 당신은 바퀴를 재발 명하고 있습니까? 입력란은 천 번 만들어집니다. 확장 성이 좋은 컴포넌트와 폼 클래스를 가지고있는 temple library을 살펴보십시오.

+0

+1 - 성전을 가르쳐 주셔서 고맙습니다. 제 입력 입력란 수업은 짧았습니다 (60 줄).하지만 당신이 맞을 수도 있습니다. 아마도 바퀴를 다시 발명했을 것입니다. – Drahcir

관련 문제