2012-08-11 58 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