0

我一直在检查我的一个项目的一些代码,并在与 Smooth() 方法相关的 PApplet 和 PGraphics 类中看到了一些有趣的东西

下面是来自 PAppplet.java 的一段代码

public void smooth() {
  if (recorder != null) recorder.smooth();
  g.smooth();
}

public void smooth(int level) {
  if (recorder != null) recorder.smooth(level);
  g.smooth(level);
}

这里 g 和 recorder 对象都是 PGraphics.java 类的实例,在该类中,这里是平滑方法:

public void smooth() {
  smooth = true;
}
/**
 *
 * @param level either 2, 4, or 8
 */
public void smooth(int level) {
  smooth = true;
}

基本上,设置不同级别的平滑似乎不起作用。我试图输入不同的数字,如 32 64 8 等,但结果根本没有改变。并且您可以检查http://processing.org/reference/smooth_.html上的 api 页面,它说平滑级别应该可以工作,但根本不是。

谁能解释为什么上面的代码虽然是用 API 编写的,但对关卡没有任何作用?

4

1 回答 1

0

您不是在查看公共 API,该代码是用于编译处理解释器的内部代码。所以:欢迎来到现实世界,文档和代码并不总是一致的,特别是当一个项目正在为一个新的、完整的修订版本准备时。如果您想从开发人员那里得到答案,您可能想通过在新的 github 代码库上发布问题来直接询问他们:https ://github.com/processing/processing

(供将来参考:API 记录在http://processing.org/reference上。如果那里没有提到,即使它在源代码中,它也不是 API 的一部分。它在那里让解释器做它的由Java编译时的工作)

于 2013-02-12T15:52:25.467 回答