2013-08-16 5 views
0

그래서 textBox라는 동적 텍스트 상자에 텍스트를로드하는 프로그램을 만들었습니다. 그런 다음 reset_btn이라는 버튼을 만들었습니다. 이 코드를 작성하는 방법을 모르겠지만 사용자가 단추를 클릭 할 수있게하려면 동적 text_Box가 다시 설정되고 코드를 다시 실행하여 텍스트를 가져와야합니다. 기본적으로 나는 그것을 실제로 닫지 않고 프로그램을 닫고 싶다. 그래서 모든 동작과 코드는 버튼 클릭으로 다시 실행됩니다. 또는 어떤 사람들은 응용 프로그램을 "플러시"하기 위해 호출 할 수 있습니다. 누군가가 이것에 나를 도울 수 있습니까? 고마워요!AS3에서로드 된 동적 텍스트를 완전히 재설정하는 방법

var ldr:URLLoader = new URLLoader(); 
ldr.addEventListener(HTTPStatusEvent.HTTP_STATUS, ldrStatus); 

var url:String = "http://google.com"; 
var limit:int = 10; 

var time_start:Number; 
var time_stop:Number; 
var times:int; 

ping(); 

function ping():void 
{ 
    trace("pinging", url); 

    times = 0; 
    doThePing(); 
} 

function doThePing():void 
{ 
    time_start = getTimer(); 
    ldr.load(new URLRequest(url)); 
} 

function ldrStatus(evt:*):void 
{ 
    if(evt.status == 200) 
    { 
     time_stop = getTimer(); 
     textBox.text = String(time_stop - time_start); 


    } 


} 
+0

코드를 표시 할 수 있습니다. 기본적으로'TextField'의 값을 재설정하기 위해서는'text' 속성에 새로운 값을 할당하면됩니다 : myTextField.text = '''. 그러나 텍스트 필드의 값 이상을 재설정하려는 것 같아서 사용중인 코드를 표시하는 것이 좋습니다. –

+0

확실한 것은, 할 것이다 : – sdksmkfnajnf

+0

글쎄, 당신은 프로그램 시작시 실행되는 일련의 코드를 가지고있다. 'new Main()'의 생성을 통해 시작을 모방하고 현재의'Main'을 새로운 것으로 대체하거나 텍스트 필드와 함께 주 객체의 초기화를 정리하고 다시 실행하는'reinit()'메소드를 개발하십시오 . – Vesper

답변

1

올바른 재 초기화가 필요합니다. 먼저, 함수로 정적 코드를 엉망으로 만들고, 초기화 전의 클래스 전체 변수를 선언 했으므로 초기화하지 않고 변수를 선언하고 다음 코드로 newPing() 함수를 만들고 필요할 때 호출하십시오.

function newPing():void { 
    ldr=new URLLoader(); 
    ldr.addEventListener(HTTPStatusEvent.HTTP_STATUS, ldrStatus); 
    times++; // this will also track how many pings were there 
    doThePing(); 
} 

나머지 변수 초기화는 이미 완료되어 있으며 다시 초기화 할 필요가 없습니다. ldr은 갱신해야하는 유일한 것입니다. 더 복잡한 상황에서는 많은 양의 재교육이 필요할 수 있습니다. 예를 들어 삶과 점수로 게임을 만들고 생명력을 초기 금액으로 설정하고 점수를 0으로 설정하는 경우를들 수 있습니다. 그러나 당신은 항상 스스로 재교육이 필요한 것을 찾아야합니다. 이것은 단지 원리 일뿐입니다.

+0

알았지 만, 어떻게 ldr을 새로 고칩니다. – sdksmkfnajnf

+0

왜'doThePing()'함수가 그렇게합니까? – Vesper

+0

사용자가 앱을 열거 나 rld_Btn 버튼을 클릭 할 때마다 다시로드하는 것을 의미했습니다. – sdksmkfnajnf