Radio, Reset, Select, Submit, Text, TextArea, windowchangeFileUpload, Select, Submit, Text, TextAreaclickButton, document, Checkbox, Link, Radio, Reset, Select, Submitdblclickdocument, LinkdragdropwindowerrorImage, windowfocusButton, Checkbox, FileUpload, Layer, Password, Radio, Reset, Select, Submit, Text, TextArea, windowkeydowndocument, Image, Link, TextAreakeypressdocument, Image, Link, TextAreakeyupdocument, Image, Link, TextArealoadImage, Layer, windowmousedownButton, document, LinkmousemoveNenhum especificamentemouseoutLayer, LinkmouseoverArea, Layer, LinkmouseupButton, document, Linkmovewindowresetformresizewindowselecttext, TextareasubmitFormunloadwindowCentralizando e focando no teclado .....Os eventos do teclado!!onkeypress: quando uma tecla e ativada.onkeydown: quando uma tecla e pressionada.onkeyup: quando uma tecla e "solta". E muito, mas muito importante saber a diferenca entre: "Onkeypress", "Onkeydown" e "Onkeyup"!!!O "Onkeypress" sera chamado duas vezes quando pressionamos uma tecla: quando o botao e pressionado e solto. Entao, se atribuirmos um comportamento e/ou tratamento a este evento, precisamos saber que ele sera efetuado duas vezes, quando pressionarmos sua tecla. A menos que facamos a verificacao do estado da tecla (para cima ou para baixo) diretamente no codigo javascript). Quanto aos controles do teclado, vamos nos concentrar nas tres importantes propriedades:keyCode: e o codigo numerico da tecla ativada.altKey: valor booleano verdadeiro se a tecla ALT estiver ativada.ctrlKey: valor booleano verdadeiro se a tecla CRTL estiver ativada.Propriedade keyCode e lista dos valores:Esta propriedade permite recuperar o valor integral da tecla pressionada. Logo, trata-se de um numero de teclas - Clique Aqui para acessar a lista!Trabalhando com teclado!Vamos primeiro criar uma pasta.Dentro desta pasta, vamos criar outra com nome de img.Salve esta nave dentro da pasta img com nome de nave.pngVamos criar um Doctype HTML 5! <!DOCTYPE html><html> <head><meta charset="utf-8"> <title>Nave com tiro</title> <script src="animacao.js"></script> <script src="teclado.js"></script> <script src="nave.js"></script> <script src="tiro.js"></script></head><body> <canvas id="canvas_nave" width="500" height="500"></canvas> <script> // canvas e contexto var canvas = document.getElementById('canvas_nave'); var context = canvas.getContext('2d'); // teclado e animacao (game engine) var teclado = new Teclado(document); var animacao = new Animacao(context); // sprite da nave e sua imagem var imgNave = new Image(); imgNave.src = 'img/nave.png'; var nave = new Nave(context, teclado, imgNave); animacao.novoSprite(nave); // para a nave atirar teclado.disparou(ESPACO, function() { nave.atirar(); }); // quando carregar a imagem, iniciar a animacao imgNave.onload = function() { // Centralizada na horizontal, alinhada embaixo na vertical nave.x = canvas.width / 2 - imgNave.width / 2; nave.y = canvas.height - imgNave.height; nave.velocidade = 5; animacao.ligar(); } </script></body></html> Links:animacaotecladonavetiro___________________________________________________________________addEventListener()Metodo que registra uma unica espera de evento em um unico alvo. O alvo do evento pode ser um unico elemento em um documento, o documento em si, uma janela, ou um XMLHttpRequest = um XMLHttpRequest e um objeto JavaScript que foi projetado pela Microsoft e adotado pela Mozilla, Apple e Google, ou seja, pelos motores de renderizacao dos navegadores. Este agora esta sendo padronizado no W3C. Ele fornece uma maneira facil de recuperar dados em uma URL. Documentacao relacionada em 24 de novembro de 2005.Retornando ao EventListener podemos registrar mais de uma espera de evento como alvo de execucao, para isso, basta chamar addEventListener() para o mesmo alvo mas com diferentes tipos de evento ou captura de parametros!!Sintaxe:elemento.addEventListener('keyup', function(evento) { teclado.pressionadas[evento.keyCode] = false; });____________________________________________________________________LINK DE RELATORIO DE EXEMPLOautores: FILIPE MARRION FROZZA FONTES, GABRIEL JOB LINCK e RAFAEL DE OLIVEIRA FANTINEL - Turma da Tarde____________________________________________________________________Colisao e HitTestColisao: E a parte mais basica