Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Преобразовать время в градусы(пишу часы) (https://javascript.ru/forum/misc/51503-preobrazovat-vremya-v-gradusy-pishu-chasy.html)

IVAAAAN 09.11.2014 13:05

Преобразовать время в градусы(пишу часы)
 
Я делаю часы на JS. Как повернуть часовую стрелки в зависимости от времени? Мне надо преобразовать время в градусы или радианы? Мой код:
$(document).ready(function(){
    
    var canvas = document.getElementById('canvas');
    var ctx = canvas.getContext('2d');
    var hours = new Date().getHours();
    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);
        
        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(20*Math.PI/180);
        ctx.drawImage(bee, -85, -90);
        ctx.restore(); 



    }
});

Скрин часов Imgur

Safort 09.11.2014 13:31

http://otvet.mail.ru/question/36291657

IVAAAAN 09.11.2014 14:05

Спасибо, формула то есть... А как это относительно стрелки то сделать? Что сюда добавить надо?
ctx.rotate((hours + (minutes/60))*360/24));

рони 09.11.2014 15:13

IVAAAAN,
http://htmlweb.ru/java/example/clock_in_canvas.php

danik.js 09.11.2014 17:01

360°/12h = 30°/h (градусов на час)
домножай часы на это число.

Или сразу рассчитывать в радианах.


Часовой пояс GMT +3, время: 21:48.