canvas繪制走動(dòng)的時(shí)針

首先上個(gè)效果圖

看了大家的評(píng)論,這次一定要來(lái)一個(gè)完整優(yōu)化版的了。(沒(méi)有看過(guò)上一篇文章的親愛(ài)的們,可以回去看一下哦)

首先對(duì)于大家提出的時(shí)針和分針要走的準(zhǔn)確一點(diǎn),每一個(gè)小時(shí)的跨度要慢慢的移動(dòng),而不是直接跳過(guò)5個(gè)刻度

時(shí)針的完善:

這里首先時(shí)針的話是每一個(gè)小時(shí)走5個(gè)刻度線,也就是30度,那么分鐘走一圈,時(shí)針走30度,就要把這30度均勻的分成60等份。隨著分鐘的增加均勻的走動(dòng)。所以時(shí)鐘的繪制應(yīng)該是context.rotate(m*Math.PI/360 + h*30*Math.PI/180); 原本的度數(shù)再加上分鐘已經(jīng)走過(guò)的。

分針的完善:

分針每50秒走一個(gè)刻度線,那么就將這一刻度再均勻的分成60等份,秒鐘走一刻度,分鐘就走六十分之一刻度。也就是s*(6*Math.PI/180)/60。再加上分鐘自己的度數(shù)簡(jiǎn)化一下:ctx.rotate(s*Math.PI/1800 + m*6*Math.PI/180);

下面來(lái)瞅一眼部分js代碼

//時(shí)針

context.save();

context.beginPath();

context.translate(250, 250);

context.rotate(m*Math.PI/360 + h*30*Math.PI/180);

context.lineWidth=10;

context.lineCap="round";

context.strokeStyle="green";

context.moveTo(0, 0);

context.lineTo(0,-100);

context.stroke();

context.restore();

//分針

context.save();

context.beginPath();

context.translate(250, 250);

// 自己的度數(shù)+秒針走過(guò)的度數(shù)

// 秒針走過(guò)的度數(shù):s*Math.PI/1800

context.rotate(s*Math.PI/1800+m*6*Math.PI/180);

context.strokeStyle="pink";

context.lineWidth=7;

context.lineCap="round";

context.moveTo(0, 0);

context.lineTo(0,-120);

context.stroke();

context.restore();

//秒針

context.save();

context.beginPath();

context.translate(250, 250);

context.rotate(s*6*Math.PI/180);

context.strokeStyle="yellow";

context.lineWidth=4;

context.lineCap="round";

context.moveTo(0, 0);

context.lineTo(150,0);

context.stroke();

context.restore();

如果還沒(méi)有懂的話可以加Q群(295383988),來(lái)獲取源碼哦。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 一:canvas簡(jiǎn)介 1.1什么是canvas? ①:canvas是HTML5提供的一種新標(biāo)簽 ②:HTML5 ...
    GreenHand1閱讀 4,878評(píng)論 2 32
  • Cnavas繪制時(shí)鐘 背景圖的繪制(大圓、數(shù)字、小圓點(diǎn)),掌握基礎(chǔ)知識(shí):圓的繪制(arc方法),關(guān)于圓的弧度的計(jì)算...
    Iris_mao閱讀 2,567評(píng)論 7 26
  • 1. Canvas繪制五環(huán) 2.Canvas繪制餅狀圖以及繪制文字 3. Canvas繪制一堆不斷變大變小的隨機(jī)移...
    LiLi原上草閱讀 1,568評(píng)論 0 7
  • 人生七十古來(lái)稀,百歲而今不足奇。 雪夜脫鞋揮斷劍,暑天戴帽吟歪詩(shī)。 彈琴亂舞休言丑,醉酒狂歌難入圍。 亦傻亦瘋憑指...
    艾思閱讀 758評(píng)論 2 5
  • 時(shí)間是衡量世界的一個(gè)重要維度,漫長(zhǎng)而無(wú)邊。對(duì)于每個(gè)人來(lái)說(shuō),我們只是它的一部分。于我們,它是有限和寶貴的。正因?yàn)槿绱?..
    講真書(shū)畫閱讀 265評(píng)論 5 2

友情鏈接更多精彩內(nèi)容