2010-04-20 5 views
0

카운트 다운을 올바르게 설정하려면 어떻게해야합니까?카운트 다운을 올바르게 설정하십시오. as3

저는 33,000.00부터 0까지 세지 만, 유행에 따라 작동하지만 빼기 연산자가 텍스트 필드에 나타납니다. alt text http://www.ashcraftband.com/myspace/videodnd/nm___.jpg



나는, XML로 업데이트 할 수있는 업 카운터 나 다운 카운터 변수에 따라 할 뭔가가 필요


//Countdown from 33,000.00 to zero 
var timer:Timer = new Timer(10); 
var count:int = -3300000; 
var fcount:int = 0; 
timer.addEventListener(TimerEvent.TIMER, incrementCounter); 
timer.start(); 
function incrementCounter(event:TimerEvent) { 
count++; 
fcount=int(count); 
mytext.text = formatCount(fcount); 
} 
function formatCount(i:int):String { 
var fraction:int = i % 100; 
var whole:int = i/100; 
return ("0000000" + whole).substr(-7, 7) + "." + (fraction < 10 ? "0" + fraction : fraction); 
} 

.

//Count up from 33,000.00 
var countValue:int = 3300000; 
count = countValue; 

//Count down from 33,000.00 
var countValue:int = -3300000; 
count = countValue; 

이것은 내가
fcount을 필요로하는 모든이 = Math.abs가

답변

1

가 마이너스 기호를 제거하려면 :

// Absolute value of i will be calculated in abs_i. 
var abs_i:int = i; 
if (abs_i < 0) 
    abs_i = -abs_i; 

var fraction:int = abs_i % 100; 
var whole:int = abs_i/100; 

는 당신이 계산하고자하는 경우를 처리하기 위해, 당신은 다르게 조금을해야 할 것입니다. decrementCounter라는 새 함수를 포함하여 두 가지 기능을 갖는 것이 좋습니다. 원하는 경우 if (counter < 0)을 사용하여 호출해야하는 이벤트 처리기가있을 수 있습니다.

편집 : 코드를 다시 읽는 당신이 당신의 문제를 해결할 수

fcount=int(count) 

을위한 것,하지만 당신은

fcount = Math.abs(count) 

다음 "형식의 카운트가"항상 것 부를 수 양수 값. 그런 다음 위의 권장 사항을 무시할 수 있습니다.

(fcount이기 때문에 당신은 이미 형 int의입니다 int()count 때문에 호출 할 필요는 없습니다.)

+0

아직 학습 중입니다. var countValue를 어떻게 사용합니까? int = 3300000; –

+0

fcount = Math.abs (개수); 감사합니다. –

0

이유 3,300,000에 Timer.repeatCount에 설정하지 (계산)인가?

+0

설명하십시오. 3 만 3 천 초가 지나면 되풀이되지 않을까요? –

+0

번호. 이는 타이머가 33,000 번 틱한다는 것을 의미합니다. 생성자의 첫 번째 매개 변수는 두 틱 사이의 시간입니다. – Carlo

0

을 코드에서 단순히 변경 :

var fraction:int = Math.abs(i % 100); 
var whole:int = Math.abs(i/100); 

("0000000" + whole).substr(-**5**, 7) 
+0

("0000000"+ 전체) .substr (- ** 7 **, 7)은 괜찮습니다. – Oliver

관련 문제