我创建了一个具有属性 Color
的类。
public class CurveParticle {
private Circle c;
private boolean collidable;
private Color color;
public CurveParticle(Circle c, boolean coll){
this.c = c;
this.collidable = coll;
}
public Color getColor() {
return color;
}
public void setColor(Color color) {
this.color = new Color(color);
}
}
颜色来自导入com.badlogic.gdx.graphics.Color
。
每当我尝试使用 setter 方法设置颜色,甚至将颜色传递给构造函数(我在本例中删除了参数)时,它都会给我这种异常:
Exception in thread "LWJGL Application" com.badlogic.gdx.utils.GdxRuntimeException: java.lang.NoSuchMethodError: com.me.Kurve.CurveParticle.setColor(Lcom/badlogic/gdx/graphics/Color;)V
at com.badlogic.gdx.backends.lwjgl.LwjglApplication$1.run(LwjglApplication.java:120)
Caused by: java.lang.NoSuchMethodError: com.me.Kurve.CurveParticle.setColor(Lcom/badlogic/gdx/graphics/Color;)V
at com.me.Kurve.Kurve.show(Kurve.java:67)
at com.badlogic.gdx.Game.setScreen(Game.java:62)
at com.me.Screens.EnterGame.create(EnterGame.java:12)
at com.badlogic.gdx.backends.lwjgl.LwjglApplication.mainLoop(LwjglApplication.java:136)
at com.badlogic.gdx.backends.lwjgl.LwjglApplication$1.run(LwjglApplication.java:114)
我应该不传递一个 float 组或其他东西吗?这真的很奇怪,因为没有颜色参数一切都工作正常。我不认为我应该受到责备,不是吗?
最佳答案
我能找到的所有其他与此错误有关的实例都与不同步或旧 jar 有关。示例:I have this issue java.lang.NoSuchMethodError
Java 文档支持这一点:
Thrown if an application tries to call a specified method of a class (either static or instance), and that class no longer has a definition of that method. Normally, this error is caught by the compiler; this error can only occur at run time if the definition of a class has incompatibly changed.
您有最新版本的 libgdx 吗?您可能想尝试下载最新的并替换您拥有的内容。
此外,请特别检查项目设置中的重复版本:Interpreting java.lang.NoSuchMethodError message
您是手动构建项目还是使用项目设置帮助工具?
关于parameters - libGdx 构造函数崩溃参数 : Color,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18534094/