2012-12-25 3 views
3

나는 레이스 게임을 만들고 있는데, 이제는 시간을 보여주는 시계/크로노 미터를 구현하고 싶습니다.AndEngine에서 크로노 미터를 만드는 방법은 무엇입니까?

ChangeableText에 실제 시간을 표시하고 다른 ChangeableText에 Best Lap Time을 표시하려고합니다.

초마다 또는 0.1 초마다 어떻게 시간을 업데이트 할 수 있습니까 ??

결승점에서 예를 들어 무릎이 언제 감지되는지 (x 및 y 위치 결정) ??

감사합니다.

답변

7

이 시도 :

int count=60; 
youScene.registerUpdateHandler(new TimerHandler(1f, true, new ITimerCallback() { 
     @Override 
     public void onTimePassed(TimerHandler pTimerHandler) { 
       count--; 
       youchangeabletext.setText(String.valueof(count)); 
       if(count==0){ 
       youScene.unregisterUpdateHandler(pTimerHandler); 
       //GameOver(); 
       }   
       pTimerHandler.reset(); 

     } 
})); 

그가 "1F"매개 변수,이 경우 층 = 1 초 지금 초당 실행 방법 및 카운트는 "0"이 방법을 방법을 실행할 수있는 시간 게임에서 제거되었습니다. 무릎 완료를 감지하기위한

지금, 당신은 당신이 차의 Sprite 클래스를 확장 할 수

public class Car extends AnimatedSprite { 
      public Car(final float pX, final float pY, final TiledTextureRegion pTextureRegion, final VertexBufferObjectManager pVertexBufferObjectManager) { 
       super(pX, pY, pTextureRegion, pVertexBufferObjectManager); 
      } 
//the method onManagedUpdate run in milliseconds 
      @Override 
      protected void onManagedUpdate(final float pSecondsElapsed) { 
       //for example when car is in the position 100 in x 
       if(this.getX()>=100){ 
          //lap finish 
       } 
       super.onManagedUpdate(pSecondsElapsed); 
      } 
     } 
0
int time=110; 

timerText = new Text(700, 440, resourcesManager.font, "10", new TextOptions(HorizontalAlign.RIGHT), vbom); 

TimerHandler mTime = new TimerHandler(0.1f,true, new ITimerCallback(){ 

    @Override 

    public void onTimePassed(TimerHandler pTimerHandler) { 

      // TODO Auto-generated method stub 

      time--; 

      timerText.setText(""+(time/10)); 

      if(time==0){ 

      //Do something 

      } 

    } 

}); 
관련 문제