-
課程內容查看全部
-
HTML、css基礎 JavaScript基礎Canvas基礎查看全部
-
只能用 === 運算來測試某個值是否是未定義的,因為 == 運算符認為 undefined 值等價于 null。 null 表示無值,而 undefined 表示一個未聲明的變量,或已聲明但沒有賦值的變量,或一個并不存在的對象屬性。查看全部
-
beginPath() 方法開始一條路徑或重置當前路徑。 closePath() 創建從當前點回到起始點的路徑。 strokestyle() 設置或返回用于筆觸的顏色、漸變或模式。 stroke() 繪制已定義的路徑。 linewidth()設置或返回當前的線條寬度。 linecap()設置或返回線條的結束端點樣式。 globalAlpha 透明度查看全部
-
在for循環前后加上兩個API save(); 和 restore(); 這一對API是告訴畫布,告訴場景,在這兩個API之間的樣式定義只在這兩個API之間起作用。 一旦出去這個restore呢,其他的樣式還是會被恢復的,查看全部
-
requestAnimFrame(); 是一個比較科學的API,相對于setInterval和setTimeout來講,requestAnimFrame會更科學 requestAnimFrame的原理就是:當前繪制完成之后,去根據你機器的性能來確定間隔多長時間繪制下一幀,所以它是一個智能計算的過程。而setInterval和setTimeout會有一個固定的時間,比如我們指定給它每過60ms就繪制一幀,萬一你繪制的內容非常大,以至于60ms之內不能完成,而requestAnimFrame會是一個科學的方法, 但是也有一個問題:fps————frame per second(每秒多少幀). 使用requestAnimFrame會導致幀與幀之間的時間間隔是不固定的,所以有一個動態的時間間隔。查看全部
-
游戲思路查看全部
-
1.監聽、獲取鼠標位置 addEventListener(),offSetX||layerX 2.魚坐標靠近鼠標坐標 lerpDistance() 3.魚嘴角度 朝向鼠標 Math.atan2(),lerpAngle() 4.畫布偏移 translate(),畫布旋轉 rotate()查看全部
-
因為動畫效果是靠gameloop一次一次地循環載入canvas形成的,如果不清除的話,多次載入的畫布會重疊在一起,就形成了重影,也就是看上去線條變寬了一樣。而cxt2之所以不用清除,是因為canvas2每次重新載入時都是先載入背景圖片,直接就把前一次畫布上的東西全覆蓋了,所以不用清除。這就是兩種清除畫布的方法,一種直接調用清除方法,一種用背景覆蓋。查看全部
-
目標規劃查看全部
-
2-1 9:39查看全部
-
繪制???查看全部
-
Fgh查看全部
-
Fhhh查看全部
-
1-2 8:39查看全部
舉報
0/150
提交
取消