将处理代码链接到 javascript,同时保持 pde 文件的独立



我正在使用ProcessingJs。我想做的只是从我的 pde 文件中获取一个变量以在我的 javascript 中使用。这里唯一的例子似乎是当你直接在javascript中编写处理代码时。我正在尝试加载一个 pde 文件,然后在我的 javascript 中使用 pde 中的一个变量。

Processingjs 网站给出了这些段落:

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

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

他们在本段下面指出的示例没有链接。这一定是我的答案,但我想不通。有人可以帮我解决这个问题吗?如何在我的 JavaScript 中实例化处理实例?

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

任何帮助不胜感激,谢谢!~迈克希尼

我很

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

无论如何:看这里:

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

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

人们在处理中问的第一个问题.js是 他们可以从处理草图中读取值 正在运行,反之亦然。答案是肯定的。

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

从处理中访问 JavaScript 对象

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

要从 javascript 访问处理,您必须对 canvas html 元素设置id

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

然后使用 getInstanceById 方法访问它:

var p = Processing.getInstanceById('my-sketch');
p.background(0);
p.redraw();
...

相关内容

  • 没有找到相关文章

最新更新