나와 나와 친구가 게임을하고있다. 기본적으로 우리 캐릭터가 거미줄을 치면 캐릭터가 건강을 잃는다.게임 타이머 데미지 딜레이
우리는 for 루프를 사용하기 때문에 피할 수없는 일이 발생합니다. 플레이어는 1을 1로 잃지 만 너무 빨리 사람의 눈을 볼 수 없습니다. 따라서 플레이어가 거미를 때리는 x 시간마다 타이머, 일시 중지 또는 무언가가 필요합니다. 다음은 코드입니다.
if (ResetEntities.spiderObj.intersects(ResetEntities.blueCharacterObj)) {
try {
Thread.sleep(10);
} catch (InterruptedException e) {
e.printStackTrace();
}
for (int i = 0; i < 100; i++) {
if (ResetEntities.blueHealth < 0) {
ResetEntities.blueHealth = 0;
Frame.blueHealthLabel.setText("Health: "
+ ResetEntities.blueHealth);
} else {
ResetEntities.getBlueHealth(ResetEntities.blueHealth - 1);
Frame.blueHealthLabel.setText("Health: "
+ ResetEntities.blueHealth);
}
}
}
이 코드에는 교차로를 확인하는 if 문이 있습니다. 나는 스크립트를 잠자려고 노력했다. (나는 10이 놀랍도록 빠르다는 것을 깨달았지만, 1000은 끔찍하게 뒤죽박죽이다. 따라서 Thread#sleep
은 상상할 수있는 방법이 아니다.) 그런 다음 for 문이 100 번 실행됩니다 (플레이어 상태 임). 그런 다음 건강 상태가 0보다 낮 으면 0으로 설정하여 플레이어가 부정적인 건강을 얻을 수 없도록합니다. 0보다 작지 않으면 else를 수행하고 1의 건강을 뺍니다. 하지만 제가 말했듯이 이것은 너무 빨리 달려서 보입니다.
어떤 도움이 필요합니까?
코드는 한 가지 방법입니다. 100L ~ 200L 밀리 초의 시간 동안 수면을 시도하십시오. –
'Java' 게임에서'Timer'를 설정하려면'Thread' 대신'javax.swing.Timer'를 사용하는 것이 좋습니다. – Rob