javascript
《JavaScript高效图形编程(修订版)》——6.10 用画布sprites取代DHTMLsprite
本節(jié)書摘來自異步社區(qū)《JavaScript高效圖形編程(修訂版)》一書中的第6章,第6.10節(jié),作者:【美】Raffaele Cecco著,更多章節(jié)內(nèi)容可以訪問云棲社區(qū)“異步社區(qū)”公眾號查看
6.10 用畫布sprites取代DHTMLsprite
在第2章中,我們開發(fā)了DHTML sprite動(dòng)畫系統(tǒng),并用它創(chuàng)建了各種圖形演示。在第5章中,我們用這個(gè)系統(tǒng)制作了一個(gè)DHTML視頻游戲。我們盡量將繪制sprites的細(xì)節(jié)“隱藏”在DHTMLSprite對象中,使得應(yīng)用程序可以很容易實(shí)現(xiàn)和使用一個(gè)不同的sprite系統(tǒng)。現(xiàn)在我們將在演示中使用一個(gè)新的CanvasSprite對象,它利用了性能更強(qiáng)的畫布元素。
6.10.1 新CanvasSprite對象
CanvasSprite是DHTMLSprite對象的一個(gè)直接替換。除了加了一個(gè)畫布環(huán)境參數(shù)(ctx)外,params對象的所有參數(shù)都和以前一樣被傳入:
警告:
注意我們使用移位運(yùn)算符(x>>0,y>>0)確保渲染位置為整數(shù)。Firefox和Opera瀏覽器在分?jǐn)?shù)像素位置繪制時(shí)性能會(huì)有很大影響。這對普通繪圖影響不大,但對高速圖形應(yīng)用,將非常影響性能。
6.10.2 其他的代碼更改
下面的代碼中粗體標(biāo)注的是讓CanvasSprite工作所需做的其他修改。你可以參考第2章中DHTMLSprite的代碼進(jìn)行比較。
總結(jié)
以上是生活随笔為你收集整理的《JavaScript高效图形编程(修订版)》——6.10 用画布sprites取代DHTMLsprite的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 《微信公众平台开发:从零基础到Think
- 下一篇: 《R语言初学指南》一2.8 参考文献