我检查了我的一个项目的一些代码,在与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编写的?
发布于 2013-02-12 23:52:25
您看到的不是公共API,这些代码是用于编译处理解释器的内部代码。所以:欢迎来到现实世界,文档和代码并不总是一致的,特别是当一个项目正在准备一个新的、完整的修订版发布时。如果你想从开发人员那里得到关于这个问题的答案,你可能想通过在新的github代码库上发布一个问题来直接问他们:https://github.com/processing/processing
(供将来参考:该接口在http://processing.org/reference上提供了文档。如果没有提到它,即使在源代码中,它也不是API的一部分。它的作用是让解释器在Java编译时完成它的工作)
https://stackoverflow.com/questions/14805084
复制相似问题