我尝试在我的Mac上运行Eclipse中的Java类:
import processing.core.*;
import de.fhpotsdam.unfolding.*;
import de.fhpotsdam.unfolding.providers.Google;
public class LifeExpectancy extends PApplet {
UnfoldingMap map;
public void setup() {}
public void draw() {
size(800, 600, OPENGL);
map = new UnfoldingMap(this, 50, 50, 700, 500, new Google.GoogleMapProvider());
}
}但我知道错误是:
Exception in thread "Animation Thread" processing.core.PApplet$RendererChangeException
at processing.core.PApplet.size(PApplet.java:1789)
at processing.core.PApplet.size(PApplet.java:1746)
at module2.LifeExpectancy.draw(LifeExpectancy.java:16)
at processing.core.PApplet.handleDraw(PApplet.java:2390)
at processing.core.PGraphicsJava2D.requestDraw(PGraphicsJava2D.java:245)
at processing.core.PApplet.run(PApplet.java:2260)
at java.lang.Thread.run(Thread.java:745)我在谷歌发现我需要将所有的OpenGL库添加到我的构建路径中。例如,这里:https://forum.processing.org/two/discussion/2931/build-in-eclipse-using-opengl-fails
我做了这件事,但还是犯了同样的错误。下面是我为该项目构建的路径:

请你告诉我,为了消除这个错误,我还能做些什么呢?
发布于 2015-12-13 16:16:49
您正在draw()函数中执行属于setup()函数的操作。具体来说,您应该只调用size() 一次,作为setup()函数的第一行。最重要的是,您可能只需要创建地图一次。
import processing.core.*;
import de.fhpotsdam.unfolding.*;
import de.fhpotsdam.unfolding.providers.Google;
public class LifeExpectancy extends PApplet {
UnfoldingMap map;
public void setup() {
size(800, 600, OPENGL);
map = new UnfoldingMap(this, 50, 50, 700, 500, new Google.GoogleMapProvider());
}
public void draw() {
//draw your map
}
}发布于 2016-03-22 08:29:17
实际上,对于Processing3.x,上面的内容将不起作用,因为size()函数应该在not ()中调用,如下所示:
import processing.core.PApplet;
public class Template extends PApplet {
public void settings() {
size(800, 600, ...);
}
public void setup() {
}
public void draw() {
background(0, 30, 0);
}
public static void main(String[] args) {
PApplet.main(new String[] { Template.class.getName() });
}
}https://stackoverflow.com/questions/34253197
复制相似问题