0
我正在做一個風箏遊戲..HTML5 canvas如何給它一個邊界?
我是一個總的javascript noob,我真的需要一些幫助。
所以我在這一點,我有一個圖像按下箭頭按鈕移動。 現在的問題是,我的形象可以走出畫布,我不想要它..
我真的沒有想法如何做到這一點我已經嘗試了多個教程,但它似乎並沒有工作。
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
感謝它的工作原理! 但只爲左和頂部,它仍然從右側和底部的畫布出來,我填充的寬度和高度就像你的例子,但它似乎並不工作。左側確實有效! – 2013-03-07 22:41:41
查看我對右側和底部if語句所作的編輯。我添加了正在繪製的圖像的寬度和高度(因爲x/y代表圖像左上角的位置) – 2013-03-08 03:29:51
呃,該死的移動瀏覽器將我的< and >更改爲lt和gt – 2013-03-08 03:31:42