1

我正在使用 ProcessingJs。我想要做的就是从我的 pde 文件中获取一个变量,以便在我的 javascript 中使用。此处的唯一示例似乎是您直接在 javascript 中编写处理代码时。我正在尝试加载 pde 文件,然后在我的 javascript 中使用 pde 中的变量。

Processingjs 网站给出了这些段落:

从处理代码到 JavaScript 比另一种方式更容易,因为由 Processing.js 解析器创建的 JavaScript 不会直接暴露在全局对象上。相反,您可以使用 Processing.instances 属性获得访问权限。

Processing 构造函数跟踪它创建的实例,并使用 getInstanceById() 方法使它们可用。默认情况下,当 a 具有 data-processing-sources 属性时,其 id 用作 Processing 实例的唯一标识符。如果没有提供 id 属性,您可以使用 Processing.instances[0]。

他们在本段下方指向的示例没有链接。这一定是我的答案,但我想不通。有人可以帮我吗?如何在我的 javascript 中实例化处理实例?

我曾尝试在我的 javascript 中使用 getInstanceById(...) ,但它说该方法在错误控制台中未定义。

任何帮助表示赞赏,谢谢!~麦克希尼

4

2 回答 2

0

要从 javascript 访问处理,您必须为您idhtmlcanvas元素设置一个:

<canvas id="my-sketch" data-processing-sources="sketch.pde"></canvas>

然后使用以下getInstanceById方法访问它:

var p = Processing.getInstanceById('my-sketch');
p.background(0);
p.redraw();
...
于 2012-08-31T10:57:01.997 回答
0

我很困惑 - 我以为你的 .pde 文件基本上Javascript!

无论如何:看这里:

* http://js.processing.org/reference/articles/jsQuickStart#writingpureprocessingcode

编写结合处理和 JavaScript 代码的文档

人们对 Processing.js 提出的第一个问题是他们是否可以从正在运行 Processing 草图的文档中读取值,反之亦然。答案是肯定的。

Processing.js 将处理代码转换为包含在函数闭包中的 JavaScript。您创建的变量和函数不附加到全局对象(即窗口)。但是,您仍然可以访问它们。

从处理中访问 JavaScript 对象

由于处理代码被转换为 JavaScript 并像任何其他函数一样运行,所有处理代码都可以访问全局对象。这意味着如果您在全局脚本块中创建变量或函数,Processing 会自动访问它们。

于 2012-08-08T19:53:43.503 回答