0
Android 게임에서 플레이어에게 질문을하고 다른 시간 후에 다른 힌트를 제공하고 플레이어가 정시에 응답하지 않으면 답변을 제공합니다. .타이머를 사용하여 Java로 일반 작업 만들기
질문, 힌트 및 지연 시간은 JSON 형식의 외부 파일에서 읽습니다.
각 힌트에 타이머를 설정하고 싶습니다. 자바 스크립트에서 나는, 폐쇄와 함께이 같은 일반적인 방법을 생성 할 수있는 :
자바 스크립트 코드
자바에서<body>
<p id="1">One</p>
<p id="2">Two</p>
<p id="3">Three</p>
<script>
var hints = [
{ id: 1, delay: 1000, text: "Hint 1" }
, { id: 2, delay: 2000, text: "Hint 2" }
, { id: 3, delay: 3000, text: "Hint 3" }
]
hints.map(setTimeoutFor)
function setTimeoutFor(hint) {
setTimeout(showHint, hint.delay)
function showHint() {
element = document.getElementById(hint.id)
element.innerHTML = hint.text
}
}
</script>
을, 나는 다음과 같이 각각의 힌트에 대해 별도의 방법을 사용할 수 있다는 것을 알고 :
자바 코드
import java.util.Timer;
import java.util.TimerTask;
String hint1 = "foo";
CustomType location1 = customLocation;
Timer timer1;
TimerTask task1;
void createTimer1(delay) {
timer1 = new Timer();
task1 = new TimerTask() {
@Override
public void run() {
giveHint1();
}
};
timer1.schedule(task1, delay);
}
void giveHint1() {
timer1.cancel()
giveHint(hint1, location1);
}
void giveHint(String hint, CustomType location) {
// Code to display hint at the given location
}
이 우아하지 않습니다. Java에서이 generic을 만들기 위해 어떤 기술을 사용할 수 있습니까? 그래서 모든 힌트에 대해 같은 방법을 사용할 수 있습니까?