나는 HTML/JS로 게임 Simon을 코딩하려고합니다. 게임이 시퀀스를 깜박이는 부분을 제외하고는 새로운 시퀀스가 무엇인지 알기 때문에 모든 것이 작동합니다. 기본적으로 내가 가지고있는 것은 : colorON 및 colorOFF는for 루프 내에서 여러 setTimeout 호출
for(var i in thePattern){
var obj = document.getElementById(thePattern[i]);
window.setTimeout(colorON(obj),500);
window.setTimeout(colorOFF(obj),1000);
}
곳 : 그 다음 모든 타이머를 루프 전체를 통과하는 모든 타이머를 시작하고 일을 할 것 같다 무엇
function colorON(obj){
if(obj.id == "red"){
obj.style.backgroundColor="#ff5555";
}else if(obj.id == "blue"){
obj.style.backgroundColor="#5555ff";
}else if(obj.id == "green"){
obj.style.backgroundColor="#88ff88";
}else{
obj.style.backgroundColor="#ffffaa";
}
}
function colorOFF(obj){
if(obj.id == "red"){
obj.style.backgroundColor="#ff0000";
}else if(obj.id == "blue"){
obj.style.backgroundColor="#0000ff";
}else if(obj.id == "green"){
obj.style.backgroundColor="#22ff22";
}else{
obj.style.backgroundColor="#ffff00";
}
}
너무 빨리 떨어져서 색이 깜박 거리지 않는 것 같습니다.
아이디어가 있으십니까? 모든 도움은 대단히 감사하겠습니다.
이제 제대로 깜박이며 폐쇄가 올바르게 작동하지만 동시에 모든 색상이 깜박입니다. 그러나 나는 다른 클로저를 다른 setTimeout
안에 넣으려고했지만 다른 문제가 발생합니다.
당신의 도움들에 대한 감사를 해결했다.
정말 switch 문에 대해 알아야합니다. – epascarello
먼저 답변에서 지적한 문제를 수정하십시오. 그런 다음 해결할 다음 문제를 발견하면 다음을 살펴보십시오. http://stackoverflow.com/questions/750486/javascript-closure-inside-loops-simple-practical-example –