2013-05-20 5 views
2

저는 Java로 게임을 만들고 있습니다. 현재 모든 애니메이션과 게임 컨트롤에 Timers를 사용하고 있습니다. 그러나 타이머의 속도를 높이는 올바른 방법을 선택하는 데 문제가 있습니다. 내 게임은 게임이 진행됨에 따라 더 빨라지고 빠르지 만, 내 물건의 속도를 높이는 방법은 많이 있지만, 어느 것이 가장 효율적인지는 잘 모르겠습니다.Java 타이머 속도 향상

예를 들어, int xpos이 개체의 xposition을 증가시키는 변수라고 가정 해 봅니다.

Timer timer = new Timer(100, new ActionListener() //01 
{             //02 
    public void actionPerformed(ActionEvent e)  //03 
    {            //04 
     xpos++;         //05 
     repaint();         //06 
    }            //07 
}             //08 
                //09 
timer.start();          //10 

나는 xpos+=2에 5 행에 X 좌표의 점진을 증가시킬 수있다, 이것의 속도를 증가합니다.

나는 또한에 타이머의 밀리 초 매개 변수를 줄여 속도를 증가시킬 수있다 : 라인 1. Timer timer = new Timer(50, new ActionListener()

을 아니면 내가 타이머의 속도를 두 배로 같은 작업을 할 것 번째 타이머를 추가 할 수 있습니다. 기본적으로 다음 작업을 수행 할 수 있습니다.

어느 것이 가장 효과적이라고 생각하십니까? 아니면이 모든 기술을 결합해야합니까? 모든 답장을 보내 주셔서 감사합니다.

+3

첫 번째 기술로 이동하십시오. 'Timer' 인스턴스를 채우지 말고 그냥 정상적인 고정 프레임 속도로 이동 시키십시오. –

+0

코드의 첫 번째 비트에 줄 번호를 추가하는 경우 +1. 나는 그 중 하나가 SO 코드 형식으로 통합되어야하거나 단지 필요한 연습이되어야한다고 생각합니다. –

+0

지난 질문에서 y 간격을 늘릴수록 깜박 거리는 시간이 길어질수록 타이머 간격이 줄어들게됩니다. – camickr

답변

4
  • 안정된 불변의 타이머를 유지하십시오.
  • 논리 위치와 속도를 double 또는 Point2D.Double로 저장하십시오.
  • 타이머 간격의 정확성에 의존하지 마십시오.
  • 속도와 시스템 시간의 변화에 ​​따라 위치의 변화를 계산하십시오.