2014-11-09 90 views
0

我在js上制作时钟。如何根据时间旋转时针?我需要用deg或rad来转换时间?现在我的代码:如何将时间转换为deg或rad的js?

$(document).ready(function(){ 

    var canvas = document.getElementById('canvas'); 
    var ctx = canvas.getContext('2d'); 

    var img = new Image(); 
    var bee = new Image(); 
    var i = 40; 
    img.src = "images/clock.jpg"; 


    img.onload = function(){ 
     bee.src = "images/bee.jpg"; 
     ctx.drawImage(img, 0, 0); 
     ctx.drawImage(bee, 95, 90); 

     setInterval(function(){ 
      i = i+1; 
      ctx.save(); //saves the state of canvas 
      ctx.clearRect(0, 0, canvas.width, canvas.height); //clear the canvas 
      ctx.drawImage(img, 0, 0); 
      ctx.translate(canvas.width/2,canvas.height/2); 
      ctx.rotate(225*Math.PI/180); 
      ctx.drawImage(bee, -85, -90); 

      ctx.restore(); 

     }, 100); 


    } 
}); 

我的时钟筛网: Imgur

回答

1

数学...

对于分针

  • 60分钟完整旋转
  • 一个完整的旋转是360度或2 * pi
  • 任何60分钟的小数部分是360度或2 * pi的分数,即23分钟是(23/60)* 2 * pi弧度或(23/60)* 360度
  • 以秒为单位加1/60一分钟,如果你想连续移动分针

对于时针

  • 12小时是一个完整的旋转
  • 添加在几分钟搞清楚每分钟是的1/60小时
  • 使用与上述相同的规则转换为度数或弧度
相关问题