2011-03-30 2 views
1

간단한 카운터를 사용하고 현재 카운트를 텍스트 상자에로드하려면 어떻게해야합니까?간단한 카운터를 사용하고 현재 카운트를 텍스트 상자에로드하고 싶습니다.

내 코드 :

count1 = new Timer(count); 
count1.addEventListener(TimerEvent.TIMER,stopWatch); 
count1.start(); 

private function stopWatch(event:TimerEvent):void{ 
    var myTextBox:TextField = new TextField(); 
    myTextBox.text = count1.currentCount; 
    addChild(myTextBox); 
} 

결과 오류 :

1067: Implicit coercion of a value of type int to an unrelated type String.

+0

질문을 편집 할 때 페이지의 오른쪽에있는 코드 서식 지정 지침을 따르십시오. –

답변

0

.text 필드에 int를 할당하기 때문에이 오류를 얻고있다. string 만 허용하며 암시 적으로이를 캐스팅하지 않습니다. 기본 Object 클래스로 toString 방법을 int으로 사용하십시오.

myTextBox.text = count1.currentCount.toString(); 

같은 제목의 this answer도 참조하십시오. 주석에 대한

업데이트 : 나는 경우 이벤트가 발생 addChild을 사용하지 않는 것입니다. stopWatch이 두 번 이상 호출된다고 가정하면 게시 된 코드는 TextField마다 시간마다 새로 추가됩니다. 대신 이벤트를 한 번만 생성하고 이벤트가 발생할 때마다 .text 필드를 설정하십시오.

// Create text box to show timer output 
var myTextBox:TextField = new TextField(); 
addChild(myTextBox); 

// Create timer and start 
var count1 = new Timer(count); 
count1.addEventListener(TimerEvent.TIMER,stopWatch); 
count1.start(); 

// Update text box whenever TIMER event fires 
private function stopWatch(event:TimerEvent):void{ 
    myTextBox.text = count1.currentCount.toString(); 
} 
+0

감사합니다. 그러나 그것은 숫자를 덮어 씁니다. 어쨌든 이전 수를 대체합니까? – DIM3NSION

+0

'오버레이로 정확히 무엇을 의미합니까?'타이머가 두 번 이상 꺼지면'TextField' 컨트롤이 두 번 이상 (new 및 addChild를 통해) 추가됩니다. 이것은 당신이보고있는 것일 수 있습니다. 이벤트 함수 외부에서이 작업을 한 번 수행하고 이벤트가 발생하면'myTextBox.text'를 설정하는 것이 좋습니다. –

+0

그래, 그거야. 카운트를 밀리 초로 표시하려면 number로 currentCount를 여러 개 사용해야합니까? – DIM3NSION

0

int을 문자열로 변환 해 보았습니까? 이런 식으로 뭔가 : 그 작동하는 경우

myTextBox.text = String(count1.currentCount);

참조?

관련 문제