【发布时间】:2012-10-18 13:33:17
【问题描述】:
我正在为像素网格上的精灵制作动画。我有几个选择,每个都有优点和缺点。我有相当多的 javascript 经验(六年),但没有这种经验。问题是我不知道每个选项会有多贵。
精灵需要渲染得非常快,并且成本足够低,以便在运行碰撞检测时至少同时运行五个。
理想情况下,我想在包装器内使用元素网格,为多维数组中的每个元素渲染颜色和 Alpha 通道。 这里的主要优点是我可以运行逐像素碰撞检测并点击精灵的透明部分。对于任何基于图像的精灵,即使我点击透明像素,onClick 事件也会触发(我必须做很多工作才能通过透明像素传递点击,而且可能非常昂贵)。
下一个选项是使用 css sprites。 css-tricks.com/css-sprites/ 这很容易,但如前所述,onClicks 不会通过透明像素。我可能可以强制它,但同样,它可能很昂贵,并且需要很长时间才能实现。
另一种选择是动画 gif,但它们很大,色彩部门有限,而且很难控制动画。我宁愿不去那里。
然后是 html5 画布元素,我不太了解,如果可能的话,我想远离它。我什至不知道我的任何代码在与 canvas 元素相关的情况下如何工作,我怀疑从长远来看它会做我想要的。
那么哪个性能最好?第一个(也是最可取的)是一个可行的选择吗?还是我错过了什么?
【问题讨论】:
标签: javascript image animation render pixel