2011-10-28 19 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

ああ、そうすれば、その関数の新しい**ローカル変数**を宣言して、グローバルな変数を「隠す」ことになります。 – 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); 
} 
関連する問題