2017-04-12 112 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