当前位置: 首页 > 知识库问答 >
问题:

使用处理库——在处理草图的Java文件中?

霍财
2023-03-14

这是如何使用公共类frome的一个后续步骤。其他处理选项卡中的java文件?;使用来自的Usage类中的示例。java文件-有完整的文档吗?-处理2。x和3。x论坛,我有这个:

/tmp/Sketch/Sketch。pde

// forum.processing.org/two/discussion/3677/
// usage-class-from-java-file-is-there-a-full-doc-for-that

Foo tester;

void setup() {
  size(600, 400, JAVA2D);
  smooth(4);
  noLoop();
  clear();

  rectMode(Foo.MODE);

  fill(#0080FF);
  stroke(#FF0000);
  strokeWeight(3);

  tester = new Foo(this);
  tester.drawBox();
}

/tmp/Sketch/Foo.java

import java.io.Serializable;

//import peasy.org.apache.commons.math.geometry.Rotation;
//import peasy.org.apache.commons.math.geometry.Vector3D;
import processing.core.PApplet;
import processing.core.PGraphics;

public class Foo implements Serializable {
  static final int GAP = 15;
  static final int MODE = PApplet.CORNER;

  final PApplet p;

  Foo(PApplet pa) {
    p = pa;
  }

  void drawBox() {
    p.rect(GAP, GAP, p.width - GAP*2, p.height - GAP*2);
  }
}

这个例子运行得很好,但是如果我取消注释import peasy。组织 行,则编译失败:

The package "peasy" does not exist. You might be missing a library.

Libraries must be installed in a folder named 'libraries' inside the 'sketchbook' folder.

当然,我确实在/path/to/processing-2.1.1/modes/java/libraries/PeasyCam/下安装了PeasyCam,如果我导入peasy.*它工作得很好 来自。pde草图。

我猜,这与路径有关——显然是草图中的纯Java文件,不引用与之相同的库路径。草图中的pde文件。

有没有可能让这个草图编译与导入peasy.org....行(除了,我想,复制/符号链接的农民凸轮库在草图文件夹,这里/tmp/Sketch/

共有2个答案

云伯寅
2023-03-14

好的,多亏了@MikePomaxKamermans answer,特别是“通过将所有.pde文件聚合到一个类中”,我只是尝试在中导入peasy。首次引用foo之前的pde文件;也就是说,在/tmp/Sketch/Sketch中。pde我现在有:

// forum.processing.org/two/discussion/3677/
// usage-class-from-java-file-is-there-a-full-doc-for-that

import peasy.*; // add this

Foo tester;
...

... 然后,草图就可以毫无问题地编译了(但请注意:虽然这种方法适用于本例,但在最初的问题中,它不知怎么地不起作用,这促使我发布了这个问题)。

颜昕
2023-03-14

在这里,您可以了解到处理实际上并不Java,它只是具有类似的(ish)语法,并且可以通过将所有. pde文件聚合到一个可以编译以在JVM上运行的类中来在JVM中运行其代码。处理有它自己的处理进口等的规则。

为什么不完全在处理过程中这样做呢?

class Foo {
  static int MODE = ...;
  static int GAP = ...;
  PApplet sketch; 
  public Foo(PApplet _sketch) {
    sketch = _sketch;
    ...
  }
  void drawBox() {
    sketch.rect(GAP, GAP, p.width - GAP*2, p.height - GAP*2);
  }
  ...
}

然后确保将其保存在文件Foo中。pde或与草图位于同一目录中的东西,通过常规处理导入机制将草图加载到peasy库中?

 类似资料:
  • 我希望学习如何在网页上使用HYPE和MINIM等外部库运行处理草图。在阅读基础教程后,我能够成功运行一个不使用外部库的草图。但不能使用外部库。

  • 我试图在草图。我尝试了,但我想它不会工作,因为在Java中,它会阻止绘制图形。 基本上,我必须画一个三角形,在画三条边时会有延迟。 我该怎么做呢?

  • 我如何在我的java项目中包含PDE文件?有可能吗?

  • 下面的代码旨在将蓝色背景和三个移动形状(圆形、正方形、三角形)绘制到屏幕上。然而,代码是用面向对象编程编写的,我的草图在处理IDE的Java模式下工作得很好,但在OpenProcessing中却不能工作,这是不对的。代码编译得很好。我想我在OOP中做了一些不正确的事情。谁能帮帮我吗?谢了!

  • 我试着把加工草图与多个。pde文件(标签或类)在我的网站上,但它似乎不起作用。你应该能够点击,使球出现在屏幕上反弹。然而,似乎并没有第二次出现。pde文件,因此,草图不能完全工作。 http://willhay.io/processing/一个普通的单文件草图效果很好,我认为这与这个草图有一个球有关。应该出现的球的pde类。

  • 我目前正在研究一种数据可视化技术,它从电影中获取信息,实时播放并同时创建。为此,我想有两个独立的草图窗口。一个窗口应显示实时播放的电影,另一个窗口应显示正在进行的可视化。 我似乎不知道如何轻松地添加另一个草图窗口,并尝试了一些在处理3中不再工作的示例。 然后我偶然发现了这个例子:https://gist.github.com/atduskgreg/666e46c8408e2a33b09a 尽管我可