2017-04-12 118 views
-2

這是我的代碼。當我改變了var y中的盒子不動......畫布DOES使其在第一時間,但它看起來像它沒有更新...爲什麼我的畫布不更新?

var c=document.getElementById("can"); //my canvas id is "can" 
var pen=c.getContext("2d"); 
var y=200; 
setInterval(render(y), 1000/30); //update 30 times per second 
function move(dir){ 
    y=y+dir; 
} 
function render(height) { 
    pen.beginPath(); 
    pen.clearRect(0,0,888,500); 
    pen.beginPath(); 
    pen.rect(30,height,50,50); //Draw the player 
    pen.fillStyle="green"; 
    pen.fill(); 
}` 

回答

1

因爲你的函數移動()是永遠used.It可以更新,如果你改變它的高度或寬度:)

+0

它*是*使用,我只是沒有在這裏包括代碼,因爲我認爲這是沒有必要的。我用按鈕來改變它,並檢查var本身實際上是在改變。 – Bip901