h5的canvas做游戲,提高性能最好用幾層canvas我剛剛開始做游戲,有沒有大神提示一下,比如人物層,背景層,等等層。之間又是怎樣聯系的?沒理解我的意思= =比如穿越火線,進入游戲后,右計分,任務層,還有人物層,背景層等等,是這樣嗎?
3 回答

繁花不似錦
TA貢獻1851條經驗 獲得超4個贊
做canvas的游戲,最好從一個引擎入手,入門級別的引擎比如:lufy(JS開源,并且有博客做指導),在實現一些效果之后,再查看源代碼學習如果實現;
你說的這些層,并不用新建那么多的Canvas,一個Canvas足矣;
原始的canvas并不支持層,這些層都是引擎提供的概念,現市面上的引擎大部分類似Flash,層叫Sprite。
層的概念:這好比一張JPG圖片本身不支持層,但是PhotoShop里面有層的概念,很多張圖片組合起來就形成了一個圖標,保存成的PSD文件包含了這些信息。最終導出的JPG只是一張圖,而Canvas本身就是一張一張的圖往上貼,這就要提到FPS,看下一條;
所謂的FPS為60Hz,是指1秒鐘將Canvas畫布重繪60次,并且在重繪的過程中計算每一個「物件」、「剛體」的新位置,然后將這些「物件」繪制在對應的坐標上;
一個Canvas就是一個場景Stage,然后背景是一個層,人物是一個,然后引擎計算人物的坐標,以及背景的坐標,繪制上去。如果有操作,則計算新的位置,重新繪制上去。
這里的層也有層級概念,類似DIV等,當然,層是引擎實現的,層級也是引擎實現的。
鼠標點擊事件在Canvas里面比較麻煩,入門最好使用引擎來做。
PC游戲都是不停的重繪(通過顯卡、CPU),但是一個好的引擎,會通過計算后,發現并不用重繪背景,只重繪一小部分。比如egret引擎,支持臟重繪。(這其實也是Windows的重繪概念,一通百通)
- 3 回答
- 0 關注
- 1424 瀏覽
添加回答
舉報
0/150
提交
取消