Хотите прочитать событие на клавиатуре и напечатать его каждый раз, когда клавиша нажата, когда окно браузера активно?

0

Я хочу написать простую функцию JavaScript, которая будет отображать имя каждой клавиши, которую я нажимаю всякий раз, когда я нажимаю клавишу. Я собираюсь попытаться создать игру, такую как старинная сороконожка, но мне нужно иметь возможность сканировать ключи каждый раз, когда ключ падает.

Вопрос. Как мне изменить этот код, чтобы он сканировал и выписал имя ключа при запросе события с нажатием клавиши?

Код HTML:

<body onload="docReady()" onkeydown="checkForNewKey()" onkeyup="" bgcolor='black'>

<canvas id="myCanvas" width="450" height="600" style="border:1px solid #00FFFF;">
    Your browser does not support the HTML5 canvas tag.
</canvas>

код:

function checkForNewKey(){
    var c=document.getElementById("myCanvas");
    var ctx=c.getContext("2d");  <-- Exactly why does this need to be here and what does it do?

    ctx.font="30px Arial";
    var temp = evt.keyCode;
     ctx.fillText(temp,20,50);
 }
Теги:

1 ответ

1
Лучший ответ

Вы должны использовать событие нажатия клавиши. Не уверен, какова ваша конечная цель - писать на холст, но проверьте это для получения дополнительной информации: http://diveintohtml5.info/canvas.html

Для написания письма это работает:

JSFiddle http://jsfiddle.net/kS7S3/

document.onkeypress = function (e) {
   var evt = evt || window.event;
   var charCode = typeof evt.which == "number" ? evt.which : evt.keyCode;
   console.log(charCode, String.fromCharCode(charCode));

   var c=document.getElementById("myCanvas");
   var ctx=c.getContext("2d");  
   ctx.font="30px Arial";
   ctx.clearRect(0,0,100,100);
   ctx.fillText(String.fromCharCode(charCode),20,50);

   return true; // proceed as usual
};

HTML

<canvas id="myCanvas" style="width:100px;;height:100px;background-color:red;"></canvas>
  • 0
    Что ж, я хочу посмотреть, как создать игру для многоножки с использованием сценария Java. Я думал, что запись на холст будет держать все это в одном объекте. Какие варианты лучше?

Ещё вопросы

Сообщество Overcoder
Наверх
Меню