我创建了一个属性为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)
我应该代替传递浮点数组或其他内容。这真的很奇怪,因为没有颜色参数一切都很好。我不认为我会责怪我吗?
答案 0 :(得分:1)
我可以找到此错误的所有其他实例都与不同步或旧jar有关。示例:I have this issue java.lang.NoSuchMethodError
Java文档支持:
如果应用程序试图调用类的指定方法(静态或实例),并且该类不再具有该方法的定义,则抛出该异常。 通常,编译器会捕获此错误;如果类的定义发生不兼容的更改,则此错误只能在运行时发生。
你有最新版本的libgdx吗?您可能想尝试下载最新版本并替换您拥有的内容。
另外,请特别检查项目设置中的重复版本:Interpreting java.lang.NoSuchMethodError message
您是手动构建项目还是使用项目设置帮助工具?