для школьного задания Я делаю игру в кайте.HTML5 холст, как дать ему границу?
Я - полный javascript noob, и мне действительно нужна помощь.
поэтому я нахожусь в точке, что у меня есть изображение, движущееся, нажимая кнопки со стрелками. проблема в том, что мое изображение может выйти за пределы холста, и я хочу, чтобы это не было.
У меня действительно есть идея nooooo, как это сделать, я пробовал несколько учебных пособий, но, похоже, это не работает.
window.onload = function() {
var canvas = document.getElementById("game");
window.addEventListener('keydown', keyDown, true);
var context = canvas.getContext("2d");
var kite = document.getElementById("kite");
var kite = new Image();
kite.src = "kite.png";
context.drawImage(kite, 250, 300, 300, 150);
var x = 250;
var y = 300;
function keyDown(e){
// up
if (e.keyCode == 38) {
clearCanvas();
y = y - 3;
context.drawImage(kite, x, y, 300, 150);
}
// down
if (e.keyCode == 40) {
clearCanvas();
y = y + 3;
context.drawImage(kite, x, y, 300, 150);
}
// left
if (e.keyCode == 37) {
clearCanvas();
x = x - 10;
context.drawImage(kite, x, y, 300, 150);
}
// right
if (e.keyCode == 39) {
clearCanvas();
x = x + 10;
context.drawImage(kite, x, y, 300, 150);
}
}
function clearCanvas() {
canvas.width = canvas.width;
}
};
я действительно очень признателен, если кто-то может помочь мне с этим: D
Спасибо, что работает! , но только для левой и верхней части он по-прежнему выходит из холста справа и внизу, я заполнял ширину и высоту точно так же, как ваш пример, но он, похоже, не работает. действительно рад, что верх и левая сторона делает работа! –
Ознакомьтесь с изменениями, которые я сделал в правом и нижнем строках, если это утверждение. Я добавил ширину и высоту изображения, которое вы рисуете, к условиям (так как x/y представляет собой положение левого верхнего края изображения) –
Ух, проклятый мобильный браузер изменил мой < and > на lt и gt –