Paper.js VS EaselJS VS Fabric.js VS KineticJS

Ira*_*kli 5 html frameworks canvas

大家好,我是 html5 画布开发的新手,我在选择画布框架方面迷失了方向。它们太多了,我不知道该用什么。所以我来了!我希望您能帮助我选择哪一种更适合我的需要。有我的需求

1)我希望框架使用矢量图形,我知道画布不是 DOM,我真的不关心它,但我的意思是我想在创建对象后对其进行操作,PaperJS 有这个功能我不知道其他。如果高级鼠标事件可用,那就更好了。

2)我想使用图像框架,我将加载图像并用画布为它们设置动画,移动,为一些颜色设置动画......

3)由于我的需要,我希望框架快(图像动画应该流畅)

4) 我希望框架有良好的社区,因为我知道我需要一些帮助。

那你觉得哪个更适合我呢?请问您能否从我的列表中写下每个框架的优点和缺点?

top*_*opr 4

HTML5 canvas 还是很新鲜的环境。您可能会觉得已经有很多工具可用,但它们通常还很不成熟。

我的回答仅涵盖您问题的一部分,因为我只使用 KineticJS 和 EaselJS。您可以从阅读本页的意见开始(我的是底部的最后一个)。

简而言之,KineticJS 的进入门槛较低。它是一个简单的绘图库,并且也对鼠标事件有一些支持。当我尝试使用它时,它几乎无法扩展。我发现很难根据我的需求进行定制。EaselJS 入门有点难,但也更高级。现在它是其他库集的一部分,统称为 CreateJS。那里似乎有很多发展。

  1. Kinetic 和 Easel 都支持鼠标事件。我不太记得 Kinetic,但感觉“onMouseOver”对于 Easel 来说成本很高。此外,两个提到的库都允许对象操作。您可以在这里找到 TweenJS 作为补充也很有用。
  2. Kinetic 和 Easel 再次允许这样做。Easel 还支持精灵 - 网页游戏开发人员熟知的“动画图像”。
  3. 我不确定 Kinetic,因为在我删除它之前我还没有达到项目的动画部分(库,而不是项目)。对于 Easel 来说,速度很棘手。它实现了一些优化方法,例如对象缓存或 snapToPixel 标志。示例似乎运行得很好。然而,对于我使用 Easel 的项目来说,尽管在优化方面投入了大量精力,但平滑度仍然是一个问题。也许我误用了 API,或者我还没有注意到还有更多优化的地方。
  4. 这两个库都很年轻,但似乎正在积极开发。作者反应相当灵敏。社区仍然不大,但我想 CreateJS 作为更完整的游戏创建工具集将会增长得更快。

如果你想检查这里就是我提到的项目。这是一个使用 EaselJS + TweenJS 制作的网页。但仍然需要一些小的调整。