在寫這篇的時候,真的心力交瘁。
第一次在同一時間負責量個project、負責build PIC、releases PIC,
同一時間一次很多事情一起來又不想要讓自已停止前進,真的是疲憊不堪,
開始想著是不是自己沒有天份,所以做起來會覺得這麼辛苦,
但其實還是撐得住的啊~
事情都有在軌道上前進,想做的事情也有做到,真的證明人的淺能是無限的
。
我想現在寫這些,過了五年之後回來看,應該會覺得這時候自己真的很有活力,
這次做的東西我覺得相當有趣,因為可以用js做一些判斷,另外還可使用canvas畫圖,
看看Dom都怎麼介紹,當然一開始還是會一直撞牆,遇到很多問題,
可是每當完成之後心裡都會有一種說不出來的喜悅,我想以後真的開始面試的時候,
一定不會被問倒,每次做一個東西都會先看原作,在自己試試看,試完再去看看其他人怎麼寫個主題。
像個大海容納百川,最後就會知識淵博了。
真的覺得看得越多懂的越多,可以省很多時間,一開始先想好未來可能會有問題,這樣以後就不用在花相同的時間去解決這個問題,也可以讓有用到的人順利不產生conflict,
難怪sr.engineer 會這麼值錢,因為它們都可以預先想好自己未來可能會產生的問題。
有在前進的感覺真好。
08 - Fun with HTML5 Canvas
主題
使用HTML5的Canvas來製作一個畫布,
透過滑鼠來繪製彩色粗細不一的線條~
步驟
Step1
先在HTML的地方建立一個<canvas>
的區塊,
並設置一個變數ctx作為canvas的操作元素,
設定顏色strokeStyle
、樣式lineJoin
、lineCap
、lineWidth
…
Step2
接著設定變數各種待會會應用到的變數
1 | const canvas = document.querySelector('#draw'); |
Step3
寫function來執行畫圖!
1 | function draw(e) { |
Step4
接著設定滑鼠對應的addEventListener
效果
1 | // 當滑鼠按下時,將目前滑鼠的位置設定為變數中的X、Y並讓isDrawing為true |
Javascript語法&備註
direction = !direction
學到的是透過這個方式來做true/false的切換。
HTML5語法&備註
這篇幾乎都是使用到canvas的功能,
紀錄若要製作像這樣的畫布效果在canvas中的使用順序:
1. 定義線條樣式
(1) strokeStyle
線條顏色
(2) lineWidth
線條寬度
(3) lineJoin
線條的轉角樣式
(4) lineCap
線條的結束樣式
2. 移動順序
(1) beginPath()
開啟一個新的繪製路徑
(2) moveTo()
將繪製路徑的起點移動到指定的座標中
(3) lineTo()
連接路徑終點到指定的座標中
(4) stroke()
繪製路徑
探索
作者有提到最後可以去加入一個圖片相疊時的效果globalCompositeOperation
還滿有趣的,可以再嘗試看看寫各種效果,或是弄幾個checkbox就可以設定很多畫筆跟效果了!