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