2017-02-05 7 views
1

그래서 나는이 작은 2D 게임을 가지고 있습니다. 나는 자바에서 그렇게 좋지는 않지만 많이 이해합니다. 하지만 내 캐릭터가 총알을 발사하면 2 초 동안 더 이상 불을 질러 버릴 수 있도록하고 싶습니다. 아니면 어떤 지연이든. 나는 여러 가지 일을 시도했지만, 내가 성취하려고 시도했던 것만으로는 효과가 없을 것입니다. 이것이 내가 총알을 발사하는 데 사용하는 것입니다.타이머가 자바 (동작 지연)

if (Mouse.next() && Mouse.isButtonDown(0)) { 
     t.scheduleAtFixedRate(task, 0, 10000); 
     Game.bullets.add(new Bullet(new Vector2f(position.x + 25, position.y + 19), new Vector2f(position.x, 0))); 
    } 

감사

+0

쉬운 방법은 변수의 마지막 촬영의 시간을 저장하고 타임 스탬프가 2 초보다 오래된 경우 모든 마우스 클릭을 확인하는 것입니다. 그러나 당신이 원하는 것을 성취 할 수있는 더 많은 방법이 있습니다. – Blobonat

답변

1
  1. 이 변수
  2. 저장 마지막 장면의 시간을 마지막 촬영 시간을 저장하기 위해 클래스 변수를 만들고 현재 시간 및 이벤트 촬영에 변수의 값을 비교하고 결정이 허용된다 다시 쐈어. 같은

뭔가 :

if (Mouse.next() && Mouse.isButtonDown(0) && (System.currentTimeMillis() - lastShotTime >= 2000)) { 
    t.scheduleAtFixedRate(task, 0, 10000); 
    Game.bullets.add(new Bullet(new Vector2f(position.x + 25, position.y + 19), new Vector2f(position.x, 0))); 
    lastShotTime = System.currentTimeMillis(); 
} 
+0

변수를 다른 변수와 어떻게 비교합니까? – Stefan

+0

------- 뭐야? – Andremoniy

+0

신경 쓰지 마시고 고맙습니다. – Stefan