【发布时间】:2016-02-22 20:20:38
【问题描述】:
我想知道在 Processing 3 中有效但在 Processing.js 中无效或不支持(尚)的功能?似乎处理 3 的 GUI 中的许多新示例一旦转换为 js 就无法工作。
我正在使用这个工具进行转换:http://processingjs.org/tools/processing-helper.html
【问题讨论】:
我想知道在 Processing 3 中有效但在 Processing.js 中无效或不支持(尚)的功能?似乎处理 3 的 GUI 中的许多新示例一旦转换为 js 就无法工作。
我正在使用这个工具进行转换:http://processingjs.org/tools/processing-helper.html
【问题讨论】:
您将很难找到在 Processing 3 和 Processing.js 之间中断的所有内容。它们是两个独立的项目,由两组不同的人维护。
您能做的最好的事情就是尝试一些东西,具体看看是什么中断,然后尝试找到解决方法。一次拿一个例子,试着让它发挥作用,如果你遇到特定的问题,可以在这里发布一个问题。
话虽如此,开始寻找可能不起作用的东西的一个地方是Processing's GitHub 上的Changes in 3.0 页面。
具体来说,任何涉及新的 surface 变量的东西都不会在 Processing.js 中工作。同样,新的settings() 函数也不起作用。 PVector 中的一些附加功能也不起作用。
Here 是 Processing 3 的 beta JavaScript 模式的链接,但您最好等待 Processing.js 赶上 Processing 3。同时,一次拿一个例子,解决方法不应该太复杂而无法弄清楚。
【讨论】:
Processing 3 (P3) 是一个 java 库,而 processing.js (PJS) 是一个 JS 库,所以每个库都会使用各自语言的方法。作为一个基本示例,PJS 中的函数将声明为 function myFunction () {} 或在某些情况下为 var myFunction = function () {}; 而 P3 看起来像 void myFunction () {}。
另一个区别是强类型,在 JS 中你可以简单地用 var myVariable = 0; 声明任何类型的变量,但在 java 和 P3 中,你需要使用 int myVariable = 0; 或 boolean myBoolean = false;。
当然,这些并不是唯一的区别,但我希望它们能让您了解从 PJS 移植到 P3 的区别;虽然库在两种语言中非常相似并且可以做许多相同的事情,但主要是语言而不是库之间的区别。
【讨论】: