2012-11-20 3 views
0

도움이 필요합니다. Flash에서는 구성 요소 패널에서 sinple 버튼을 설계했습니다. 인스턴스 이름을 btn_one으로 지정했습니다. 내가 뭘 하려는지는 매번 사용자가 버튼을 클릭 할 때마다 버튼이 텍스트를 보내기에서 다음으로 변경하기를 원합니다. 그러나, 어떻게 이것을합니까?AS3 버튼을 누를 때 텍스트가 변경됨

불행히도 as3에 대한 지식은 제한적입니다. 그들은 as3 버튼의 많은 자습서지만 나는 이것에 관해서는 아무 것도 발견하지 못했습니다. 여러분이 코드 예제를 보여 주거나 튜토리얼 링크를 제공 해줄 수 있다면 정말 고맙겠습니다.

감사

+0

내 대답이 만족 스럽다면 대답 아래에있는 "진드기"를 클릭하여 허용으로 표시하십시오.이 질문은 귀하와 비슷한 문제가있는 다른 사람들에게 도움이되며이 질문을 찾을 수 있습니다. – Vesper

답변

1

나는 SimpleButtons '텍스트 필드에 대한 뭔가를 시도하고, 다음 코드를 내놓았다했습니다. 희망이 도움이됩니다. 이합니까 무엇

public class GenericTextButton extends flash.display.SimpleButton { 
    public var buttonText:String; 
    private var tfs:Vector.<TextField>;  
    public function GenericTextButton():void 
     { 
     tfs=new Vector.<TextField>(); 
     var tc:DisplayObjectContainer; 
     var i:int; 
     // now let's init embedded TFs 
     // trace((upState as DisplayObjectContainer).numChildren); // wow there's property available! YES 
     if (upState is DisplayObjectContainer) { 
      tc=(upState as DisplayObjectContainer); 
      for (i=0;i<tc.numChildren;i++) 
       if (tc.getChildAt(i) is TextField) tfs.push(tc.getChildAt(i) as TextField); 
     } // now same with overState and downState 
     if (overState is DisplayObjectContainer) { 
      tc=(overState as DisplayObjectContainer); 
      for (i=0;i<tc.numChildren;i++) 
       if (tc.getChildAt(i) is TextField) tfs.push(tc.getChildAt(i) as TextField); 
     } 
     if (downState is DisplayObjectContainer) { 
      tc=(downState as DisplayObjectContainer); 
      for (i=0;i<tc.numChildren;i++) 
       if (tc.getChildAt(i) is TextField) tfs.push(tc.getChildAt(i) as TextField); 
     } 
     // trace(name+' has '+tfs.length+' textfields'); // 3 !!!! Unbelieveable, but true 
    } 
    public function setText(the_text:String):void { 
     for (var i:int=0;i<tfs.length;i++) tfs[i].text=the_text; // and NOW we can do as simple as this 
    } 
} 

: 당신은 다음 즉시 사용자가 제공하는 무엇에 그 버튼의 모든 텍스트를 변경하려면 사용할 수 setText() 방법이있을 것이다, 대신 SimpleButton의, GenericTextButton의 후손로 버튼 인스턴스를 선언합니다. SimpleButton의 내부 구조를 열거하고, 거기에있는 모든 TextField를 잡고, 쉽게 참조 할 수 있도록 Vector에 저장합니다.

관련 문제