2013-03-19 91 views
0

我想要做一些真正的小遊戲。 It is here.Canvas vs HTML DOM?

用戶:洪扎 密碼:洪扎

我不知道我是否應該用帆布或HTML DOM。當我改變一個部分,放大並移動時,我只想重新繪製大約20張圖片(10個藍色塊和10個灰色塊)。可能會有一個感人的人。你有什麼意見?我應該使用canvas還是HTML DOM?

+0

我找到了此鏈接。我認爲這是你需要的。 [閱讀](http://stackoverflow.com/a/13628035/2187426) – Lorin 2013-03-19 16:56:53

+0

謝謝你的答案 – 2013-03-19 17:00:12

回答

0

如果你可以使用普通的舊DOM元素爲遊戲做所有必要的動畫,那麼我就足夠了,但是對於我建議使用畫布的任何一種複雜的動畫。

你所描述的東西似乎完全適用於DOM,假設你的人移動不會包含非連續的動畫。您可以在不使用畫布的情況下創建相對複雜的動畫,而只是在畫布上做更多的工作。

如果您正在學習新事物,請選擇畫布,因爲它將在未來爲您提供更好的服務。

+0

有不需額外是任何複雜的動畫...謝謝你的回答 – 2013-03-19 17:22:49

+0

我相信sweetamylase是更好的答案,因爲它包含有關性能權衡的其他信息。即使您選擇使用DOM方法進行遊戲,他發佈的鏈接也很有用。 – cernunnos 2013-03-19 17:25:28

1

手法(移動的東西,動畫,改變顏色等)在DOM將導致瀏覽器重繪迴流的元素,這是一個耗費資源的處理。尤其是對於有許多不斷觸發瀏覽器進行處理的持續視覺更新的情況,導致低端系統上的用戶感受到緩慢而遲緩的體驗。

帆布,而另一方面將不會這麼大,因爲<canvas>元素將是相同的大小,所以沒有reflow和任何動畫等將只有<canvas>內引起repaint

請參閱此處以獲取更詳盡的說明:http://www.phpied.com/rendering-repaint-reflowrelayout-restyle/

+0

那裏不會有很多不斷的視覺更新 - 當我改變部分時,我只會更新20張圖片,當用戶按下箭頭鍵時移動人物,我會做內容縮放......我還在猶豫... – 2013-03-19 18:23:32