矢印キーを使用して(JavaScriptを使用して作成した)四角形を移動したいと考えています。また、私はキャンバスの終わりに当たったときにそれを止めたい。それ、どうやったら出来るの?私はこれで全く新しいものであり、全く手がかりを持っていません。JavaScriptを使用して矢印キーを使用してオブジェクトを移動する方法
function fillRect() {
var canvas = document.getElementById("myCanvas");
var context = canvas.getContext("2d");
var rectX=10;
var rectY=10;
context.rect(rectX,rectY,50,50);
context.fillStyle = "#666666";
context.fill();
}
function onkeydown(e) {
if(e.keyCode==39) {rectX++;} //right arrow
elseif(e.keyCode==37) {rectX--;} //left arrow
elseif(e.keyCode==38) {rectY--;} //up arrow
elseif(e.keyCode==40) {rectY++;} //down arrow
fillRect();
}
window.addEventListener("keydown", onkeydown);
#myCanvas {
margin: auto;
display: block;
width: 80%;
height: 400px;
background-color: white;
border: 3px solid black;
}
<!-- Jessica Odefjord -->
<!DOCTYPE HTML>
\t <html lang="sv">
\t \t <head>
\t \t \t <meta charset="utf-8">
\t \t \t <link rel="stylesheet" type="text/css" href="inlämningsuppgift_javascript_jessicaodefjord.css" />
\t \t \t <script type="text/javascript" src="inlämningsuppgift_javascript_jessicaodefjord.js"></script>
\t \t \t <title>Flytta rektangeln</title>
\t \t </head>
\t \t \t <body>
\t \t \t \t <header>
\t \t \t \t \t <h1>Flytta rektangeln</h1>
\t \t \t \t \t <h2>Flytta runt rektangeln med hjälp av piltangenterna</h2>
\t \t \t \t </header>
\t \t \t \t \t <main>
\t \t \t \t \t \t <section id="firstsection">
\t \t \t \t \t \t \t <h3>
\t \t \t \t \t \t \t </h3>
\t \t \t \t \t \t </section>
\t \t \t \t \t \t \t <canvas id="myCanvas">
\t \t \t \t \t \t \t </canvas>
\t \t \t \t \t </main>
\t \t \t </body>
\t </html>
ご協力ありがとうございますが、動作しません。/私の四角形が表示されていません。 –
これをチェックしてくださいhttps://jsfiddle.net/k3akqz3c/ – gdros
ありがとうございます! –