2013-12-17 3 views
-1

Im는 actionscript에서 약간의 게임을하고 있고, 게이머가 게임을 끝내고 시작할 때 시작하는 타이머가 있습니다. 하지만 1,2,3,4,5,6 등의 게임 중에 내 타이머의 값을 텍스트 필드에 표시하려고합니다. 값을 얻기 위해 타이머를 적절히 수행 할 수 있습니까? 내 타이머 코드는 이것이다 :기본 게임 중에 내 타이머 시간을 표시하십시오.

startTime = (new Date().time); 

endTime = (new Date().time); 


public function testTime():void 
{ 

    const 5_min = 5 * 60 * 1000; 
    const 2_min = 2 * 60 * 1000; 

    var timeDiff:Number = endTime - startTime; 

    if (timeDiff < 2_min) { 

     trace("Good!"); 

    } else { 

     trace("Bad!"); 
    } 
} 

그리고 여기 (위) 나는 TXT 필드를 만듭니다. 이제 게임을하는 동안 타이머 값을 표시 할 수 있습니까? 우선

var timer_txt:TextField; 
pontuacao = new TextField(); 
timeDiff = 0; 
timer_txt = new TextField(); 
timer_txt.text = String(timeDiff); 
stage.addChild(timer_txt); 
timer_txt.x = 470; 
timer_txt.y = 320; 

답변

0

글쎄, 당신은 숫자와 변수 이름을 시작할 수 없습니다 AS에 따라서이 코드는 절대적으로 컴파일 안 (5_min, 2_min = 잘못된!).

당신은 startTime을 가지고 있습니다. 괜찮습니다. 이제 어떤 종류의 이벤트 (Timer, EnterFrame) 또는 간격 (setInterval)에서 현재 시간을 확인하고 이에 따라 endTime 값을 업데이트해야합니다.

import flash.utils.setInterval; 
var s:Number = new Date().getTime(); //start time 
var e:Number; //end time 
var d:Number; //difference 
setInterval(function() { 
      e = new Date().getTime(); 
      var oldDiff:Number = d; 
      d = int((e - s)/1000); 
      if(oldDiff != d) trace(d + " seconds since launch"); 
      }, 
      100 
); 
+0

감사합니다 : 당신이 그것을 일단, 당신은 단지 차이를 계산하고 1000을 나누는이 같은

뭔가를 (난 당신이 밀리 그것을 보여주고 싶어하지 않는 가정)! 일부 조정과 함께 작동합니다 :) – OzzC

관련 문제