Paper.js与EaselJS与Fabric.js和KineticJS比较

6

大家好,我是一个新手,正在进行 html5 画布开发,并且对选择画布框架感到迷茫。框架多不知道该用哪个。所以我在这里!我希望你们能够帮我选择最适合我的框架。以下是我的需求。

1)我想要使用矢量图形的框架,我知道 canvas 并不是 DOM,但我真的不在意这一点,我的意思是我想在对象创建后对其进行操作,PaperJS 有这个功能,其他框架我不知道。如果有高级鼠标事件将更好。

2)我要使用框架来处理图像,我会加载图像并在画布上进行动画、移动、动画效果等。

3)由于我的需求(图像动画应该平滑),所以我希望框架速度快。

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

那么你认为哪一个框架更适合我?如果您可以从我的列表中写下每个框架的优缺点,那就更好了。


1
您可能会对此感兴趣:https://docs.google.com/spreadsheet/ccc?key=0Aqj_mVmuz3Y8dHNhUVFDYlRaaXlyX0xYSTVnalV5ZlE#gid=0 - kangax
1个回答

4

HTML5画布仍然是一个非常新的环境。你会觉得已经有很多工具可用,但它们通常相当不成熟。

我的答案只涵盖了您问题的一部分,因为我只使用了KineticJS和EaselJS。您可以从此页面中阅读意见(我的意见在底部)。

简而言之,KineticJS入门门槛较低。它是一个简单的绘图库,也支持一些鼠标事件。我尝试使用它时,它几乎不可扩展。我发现很难根据我的需求进行定制。 EaselJS起步要困难一些,但它更高级。现在它是其他库集的一部分,所有库集合被称为CreateJS。似乎那里正在开展许多开发工作。

  1. Kinetic和Easel都支持鼠标事件。我不太记得Kinetic,但对于Easel来说,检测'onMouseOver'会比较昂贵。这两个库都允许对象操作。您还可以在这里找到TweenJS作为有用的补充。
  2. 再次提及,Kinetic和Easel都允许此操作。Easel还支持精灵-'动画图像',这是Web游戏开发人员熟知的。
  3. 我不确定Kinetic是否支持,因为在放弃它(库而非项目)之前,我没有到达我的项目的动画部分。对于Easel,速度是棘手的。它实现了一些优化方法,例如对象缓存或snapToPixel标志。示例似乎运行得非常好。但是,对于我的项目,使用Easel仍然存在平滑度问题,尽管进行了相当多的优化工作。也许我误用了API,或者还有更多的最佳化空间我还没有注意到。
  4. 这两个库都还很年轻,但似乎正在积极开发中。作者相当负责。社区仍然不大,但我认为CreateJS作为创建游戏的更完整的工具集将更快地增长。

如果您想检查,请参考我提到的项目。这是一个使用EaselJS + TweenJS制作的网页。虽然仍需要一些微小的调整。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接