2012-08-11 91 views
1

我開始了一個網頁遊戲,我想知道最好的方法來做到這一點。繪製大量的六邊形和扭曲它們

遊戲是一個從上面看到的六角形領域,可以旋轉/傾斜。

這樣做的最佳方法是什麼?我打算做的是用帆布和使用2D轉換到模擬的3D旋轉,問題是:

  1. 遊戲必須在智能手機
  2. 對於每一個旋轉,我必須重新繪製所有的油畫作品,以及有可能是200個六邊形的屏幕上重繪很多次,所以我覺得帆布是在資源方面過於昂貴...

Hexagons

+5

是的,有帶的問題。看看[WebGL](http://en.wikipedia.org/wiki/WebGL) – 2012-08-11 08:08:49

+1

我同意@Truth。 Webgl應該解決你的問題。試試看three.js,因爲我聽說它使webgl的編程變得更容易:https://github.com/mrdoob/three.js/ – starbeamrainbowlabs 2012-08-11 08:25:18

+0

如果它必須在智能手機上工作,WebGL真的是一個選項嗎? [鏈接](http://caniuse.com/webgl) – Strille 2012-08-11 08:30:30

回答

1

有兩種方法我能想到的:

  • 僅使用畫布。這意味着相當寬泛的瀏覽器支持,幾乎沒有怪癖,通常「只是工作」。潛在的問題:像你提到的低端機器的性能。但是將遊戲轉向遊戲玩法至關重要?如果沒有,您可以考慮在慢速智能手機上關閉該功能。如果遊戲玩法不重要,用戶很可能不會錯過該功能。

  • 畫布和CSS3變換的組合(rotating cube example)。可以給你比純帆布解決方案更好的性能。潛在的問題:需要「混合」技術,這總是意味着遇到意想不到的問題或怪癖。

0

你應該看看www.kineticjs.com

Canvas是去繪製形狀100的,因爲它不寫入DOM,每路像SVG的方式做。

它有幾個例子,其中形狀以編程方式繪製在1000年代。最近,我用它來這裏類似的動畫:

http://movable.pagodabox.com