0
我試圖在畫布中使用setInterval來回移動圖像。我一直在努力尋找解決方案無濟於事。任何人都可以找出問題嗎? 這裏是我的代碼:使用setInterval來回移動畫布圖像
...
var img = new Image;
var url = ["sprite-right.png","sprite-left.png"];
var ctx2;
for (i=0; i<3; i++) {
img.src = url[i];
}
img.onload = function() {
start();
}
function start() {
var canv2 = document.getElementById("canvas2");
ctx2 = canv2.getContext("2d");
var x = 50, y = 100;
var direction = "right";
var interval = setInterval(function() {
if (direction == "right") {
img.src=url[0];
ctx2.clearRect(0, 0, ctx2.canvas.width, ctx2.canvas.height);
ctx2.drawImage(img, x, y);
x++;
if (x>690) {
direction = "left";
} // end if
} else if (direction == "left") {
img.src=url[1];
ctx2.clearRect(0, 0, ctx2.canvas.width, ctx2.canvas.height);
ctx2.drawImage(img, x, y);
x--;
if (x<50) {
direction = "right";
} // end if
} // end if
},1); // end set interval
} // end function
究竟是什麼問題和/或錯誤? – 2015-02-23 03:50:47
我在控制檯中看不到任何錯誤消息,但圖像沒有按照我期望的方式移動。一旦達到第一個條件就回彈到起始位置 – Grant 2015-02-23 04:29:50