2016-03-18 11 views
0
function refBalls(){ 
var c = document.getElementById("myCanvas"); 
var ctx = c.getContext("2d"); 
var circles = [{x:40,y:100,r:20,color:'black',vx:5,vy:10}] 
function draw(){ 
    ctx.beginPath(); 
    ctx.arc(circles[0].x, circles[0].y, circles[0].r, 0, 2 * Math.PI); 
    ctx.fillStyle = "blue"; 
    ctx.fill(); 
    if((circles[0].x + circles[0].r + circles[0].vx > c.width + c.style.left) || (circles[0].x - circles[0].r + circles[0].vx < c.style.left)){ 
     circles[0].vx = -circles[0].vx; 
    } 
    circles[0].x += circles[0].vx; 
    requestAnimationFrame(draw); 
} 
requestAnimationFrame(draw);} 

Topun hareket ettiğini görebiliyorum ama önceki konumunu görüyorum. Hareket eden bir topu görmeliydim, bunun yerine tuvalde top boyama gibi bir şerit görüyorum. Birisi bana yardım edebilir mi? this is what I'm seeing in my browserBir tuvalin içinde çizim topları zıplatma, javascript

cevap

0

Çerçeveyi her çizdiğinizde tuvalini temizlemeniz gerekir. Bu, video oyunlarının içeriklerini ekrana yansıtmasıyla aynı yoldur. Burada

Bazı örnekler: How to clear the canvas for redrawing

+0

nasıl tuval temizlemek için? Örnekte –

+0

örneğinde daha fazla okuma var. ama temel olarak ctx.clearRect (0, 0, canvas.width, canvas.height) kullanın; animasyon çerçevenizin başında – dcbarans

İlgili konular