2011-10-28 3 views
0

나는 재미있는 작은 게임을 만들려고 노력하고있다.키 누르기 후 변수 변경?

가능한 한 빨리 화면의 모든 키를 잘못 눌러야합니다.

그러나 첫 번째 키 누르기 후에 변수를 변경하는 데 어려움이 있습니다. 이것은 내가 무엇을 가지고 :

<script language="JavaScript"> 
    document.onkeydown = checkKeycode; 
    var uyhgg=13; 
    function checkKeycode(e) { 
     var keycode; 
     if (window.event) { 
      keycode = window.event.keyCode; 
     } else if (e) { 
      keycode = e.which; 
     }    
     if (keycode == uyhgg){ 
      document.write(keycode); 
     } else { 
      alert("you hit the wrong key"); 
     } 
    } 
</script> 

지금 document.write(keycode); 후 나는 그것이 뭔가 다른 변수 uyhgg (키 코드)를 변경하고 싶습니다. 13이 입력됩니다.

+1

왜 'uyhgg'입니까? – meagar

답변

2

페이지가로드 된 후 document.write()으로 전화하면 페이지가 삭제됩니다. 그 대신 코드를 일부 페이지 요소로 업데이트하는 것이 좋습니다.

if (keycode == uyhgg){ 
    document.getElementById("something").innerHTML = keycode; 
} 

는 "ID"값을 가진 페이지에 <div> 또는 <span>이든 어딘가에 넣어 :

<div id='something'>your keycode will go here</div> 

변수 변경에 관해서는, 잘, 당신은 그것을 바꿀 수 있어야합니다.

uyhgg = 32; 

또는 무엇이든지 게임을 변경하려는 경우.

+0

좋은 작품입니다. uyhgg = 32 대신 –

+0

; 나는 var uyhgg = 32; –

+0

아, 그래, 네가 그렇게하면, 그 함수의 새로운 ** local ** 변수를 선언 할 것이다. 이것은 전역 변수를 "숨길"것이다. – Pointy

1

음 ... 그냥 지정 하시겠습니까?

document.onkeydown = checkKeycode; 
var uyhgg=13; 

function checkKeycode(e) { 
    var keycode; 
    if (window.event) keycode = window.event.keyCode; 
    else if (e) keycode = e.which; 

    if (keycode == uyhgg){ 
     document.write(keycode); 
     uyhgg = 27; 
     alertUyhgg(); 
    } 
    else { 
     alert("you hit the wrong key"); 
    } 
} 

function alertUyhgg() { 
    alert(uyhgg); 
}