【问题标题】:Are basic HTML Canvas drawing/animation frameworks (or at least large portions of a framework), such as processing.js still necessary?是否仍然需要基本的 HTML Canvas 绘图/动画框架(或至少大部分框架),例如 processing.js?
【发布时间】:2015-05-24 17:50:07
【问题描述】:

请允许我解释一下,以免这只是被标记为“基于意见”的问题。

我现在正在学习 processing.js,我不禁注意到与 Vanilla-JS 的 Canvas API 中已有的功能有许多相似之处。 也许在普通的旧 Canvas 中编写一组大型动画要比在处理中复杂得多?

我之所以问这个问题是因为,随着我继续了解有关 vanilla API 的更多信息,我看到这些年来在 JS 中添加的许多新功能开始(非常缓慢地)产生某些方面流行的框架,不再需要(jQuery 就是一个很好的例子)。我很好奇 Canvas 和 processing.js 是否也是这种情况。

就个人而言,我正在尝试确定我是否还应该在 processing.js 上花费大量时间(虽然我并不是要你为我做出这个决定,但我只是想要一些可以帮助我决定什么对我最有利的信息)。

【问题讨论】:

    标签: html5-canvas processing.js


    【解决方案1】:

    Stackoverflow 允许就诸如 ProcessingJS 之类的编程工具提出特定的非编码问题,但您的问题似乎过于宽泛。

    尽管如此,这是我的想法......

    Native Canvas 与 ProcessingJS

    • Html5 画布诞生时具有与 Photoshop 本身相媲美的丰富可能性。但是,原生画布是一个相对低级的工具,您必须使用自己的代码处理结构化、事件、序列化和动画。

    • ProcessingJS 为原生画布添加了结构、事件、序列化、动画和许多(惊人的!)数学函数。恕我直言,ProcessingJS 是一个更高级的工具,非常值得学习。

    将原生画布扩展到更高级别的工具,而不是低级别的工具

    • 使用大约 500 行 javascript,您可以向原生画布添加可重用框架,在更高级别的结构中添加这些功能:事件(包括拖放、缩放、旋转、命中测试等),序列化/反序列化。

    • 再增加大约 100 行代码,您可以向原生画布添加一个可重用的框架,该框架通过缓动来执行动画。

    • 尽管原生画布天生具备呈现复杂内容所需的大部分功能,但原生画布中仍非常需要 PathObject。 PathObject 将序列化路径以使它们可重用。大约 50 行代码就可以创建一个可重用的 PathObject。

    这是一个相当无用的建议:-p

    尝试为工作使用正确的工具(是的,不是特别有用)。

    • 仅学习本机画布就可以让您完成 70% 的像素显示任务。

    • 对扩展进行编码(如上)将使您达到 90%。

    • 使用像 ProcessingJS 这样的工具可以让你达到 98%。

    • 是的,总是有大约 2% 的边缘情况,您要么“无法到达”,要么必须降低设计要求以适应编码限制。

    稍微具体一点的建议

    由于 ProcessingJS 只是扩展了原生画布,恕我直言,花几天时间学习原生画布是非常值得的。这些知识将使您确定适合工作的工具。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-02-07
      • 1970-01-01
      • 2011-10-03
      • 1970-01-01
      • 2011-10-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多