2012-10-29 16 views
7

Zrobiłem odliczanie z płótna rysunekjquery płótno koło

działający kod: http://jsfiddle.net/ajFsx/

window.onload = function() { 
    canvas = document.getElementById('timer'), 
    seconds = document.getElementById('counter'), 
    ctx  = canvas.getContext('2d'), 
    sec  = 180, 
    countdown = sec; 
    ctx.lineWidth = 8; 
    ctx.strokeStyle = "#528f20"; 
    var 
    startAngle = 0, 
    time  = 0, 
    intv  = setInterval(function(){ 
     var endAngle = (Math.PI * time * 2/sec); 
     ctx.arc(65, 35, 30, startAngle , endAngle, false); 
     startAngle = endAngle; 
     ctx.stroke(); 

     countdown--; 
     if (countdown > 60){ 
      seconds.innerHTML = Math.floor(countdown/60); 
      seconds.innerHTML += ":" + countdown%60; 
     } 
     else{ 
      seconds.innerHTML = countdown; 
     } 
     if (++time > sec,countdown == 0) { clearInterval(intv), $("#timer, #counter").remove(), $("#timers").prepend('<img id="theImg" src="#" />'); } 
    }, 10); 
}​ 

Moje pytanie jest następujące, jak mogę dostać ten rysunek graczem, więc nie ma pikseli?

Dużo googlowałem na płótnie jquery, ale nie mogę znaleźć tego, czego szukam.

Odpowiedz

6

Domyślnie rysunek na płótnie jest wygładzany.

Zawsze rysujesz poprzednio klatek.

jsFiddle (dowód).

można łatwo naprawić poprzez wywołanie ...

ctx.clearRect(0, 0, 200, 200); 

jsFiddle.

Powoduje wyczyszczenie poprzednio narysowanego kwadratu o wartości 200 pikseli w lewym górnym rogu.

+0

to było bardzo dobrze. –