我一直在用 Slick2D 开发一个小游戏这是 JavaDoc:http ://slick.ninjacave.com/javadoc/overview-summary.html
这段代码给我带来了问题:
public void move(){
this.shape = (Ellipse)this.shape.transform(Transform.createTranslateTransform((float)(speed*Math.sin(angle)),(float)(speed*Math.cos(angle)*-1)));
this.posx = this.posx+(float)(speed*Math.sin(angle));
this.posy = this.posy+(float)(speed*Math.cos(angle)*-1);
updateShape();
}
这是错误:
java.lang.ClassCastException: org.newdawn.slick.geom.Polygon cannot be cast to org.newdawn.slick.geom.Ellipse
让我失望的是.. shape.transform() 返回一个抽象的 Shape 类,该类旨在转换为特定的形状。我对不同班级的多边形做了同样的事情,效果很好。
如果有人有这方面的经验,非常感谢,谷歌对我帮助不大
编辑*哦,对不起,我忘了包括 this.shape 是如何创建的:
Ellipse shape;
...
shape = new Ellipse(diameter/2,diameter/2,posx,posy);