function - 如何创建一个为该语言添加新函数的处理库?

标签 function processing addition

我想创建一个处理库,向处理添加单个函数。一个命令。我该怎么做?

所以我希望能够写下处理这个:

void setup() {
    drawMyCustomShape()
}

在某种程度上,drawMyCustomShape 将出现在我的自定义库实现中。

谢谢!

注意:这个问题与在处理中创建新库无关。是关于创建一个导出一个新命令的库(这样您就可以使用而无需关心容器类实例)。

最佳答案

所以,我终于找到了最适合我的情况的答案。

解决方案是实现一种新的处理模式,该模式扩展了内置 Java 模式。要将静态成员包含到主处理程序中,您需要向处理添加到代码中的成员添加新的静态导入。

您可以通过 fork @joelmoniz 从 @martinleopold 创建的 3.0 模式模板来实现此目的: https://github.com/joelmoniz/TemplateMode/tree/3.0-compatibility

这里有一个很好的教程: http://pvcresin.hatenablog.com/entry/2016/03/17/210135

为什么这是最合适的解决方案? :我认为这是在处理代码中实现新的静态方法并确保轻松分发的最佳方式!您只需在 sketchbook/modes 文件夹中设置模式文件夹即可。如果我要进行 fork 处理,那么为所有操作系统准备发行版并保持主项目的更新将是一件大事。

我的特定解决方案:

为了将静态导入添加到Processing中,我实现了一个自定义模式,在该模式中我覆盖了PdePreprocessor类,该类将处理代码与所有Java处理代码包装在一起。因此,我们的想法是向 PdePreprocessor 在生成的 Java 源代码上生成的导入添加更多导入。

在我的自定义 PdePreprocessor 中,我重写了 getCoreImports 方法来添加我的自定义方法。我在这里这样做是因为我认为新的导入是我的自定义模式核心的一部分。您还可以通过重写 writeImports 方法来实现此目的。

为了使用我的 PdePreprocessor 实现,我必须覆盖以下类:

  • 指挥官
  • JavaBuild
  • Java 编辑器
  • Java模式
  • Java 编辑器

我必须实现一个新的 JavaBuild,它使用我的自定义 PdePreprocessor 预处理 Sketch。并且还在处理 Java 模式实例化构建类的所有位置使用我的自定义 JavaBuild。如果有更好的方法来完成我所做的事情,请与我们分享。

这是我的解决方案的 github:http://github.com/arypbatista/processing-inpr/

关于function - 如何创建一个为该语言添加新函数的处理库?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38258656/

相关文章:

excel - 是否有 Excel 函数来计算单元格中某些字符的出现次数?

java - (处理)将类型文件转换为类型字符串?

javascript - 我可以在processing.js 上对 Three.js 进行后处理吗?

java - 处理: "magic"函数如何工作

java - 如果需要的话,在Java中添加两个二进制字符串(包括填充)的有效方法是什么?

delphi - 在Delphi中保存指向指定函数的指针

c++ - 为什么我的模板函数在此调用中不是有效匹配项?

r - 删除所有包含 "prohibited"值的观察值的函数 - R

javascript - JS在生成的ajax div中添加文本

audio - 如何在Android应用程序的开头添加声音?