我正在使用Slick2d在Java中创建我的第一个游戏,并且我创建了一个类平面。 (我也是java新手)
我不确定从我的类中的Image类扩展是否正确,或者我最好在我的类中使用公共Image属性(public可以在其他的proyect中轻松访问它的方法)
import org.newdawn.slick.Image;
import org.newdawn.slick.SlickException;
public class Plane extends Image{
private float x;
private float y;
public Plane(String path, float x, float y) throws SlickException{
super(path);
this.x = x;
this.y = y;
}
public float getX(){
return x;
}
public float getY(){
return y;
}
public void move(float hip){
float rotation = this.getRotation();
x+= hip * Math.sin(Math.toRadians(rotation));
y-= hip * Math.cos(Math.toRadians(rotation));
}
}
答案 0 :(得分:5)
我不知道slick2d,但我会说你的课不应该扩展Image
但是要有图像属性。扩展是一种说“平面是图像”的方式,通常不是这种情况,而是平面具有纹理/图像。
此外,图像不应该是公共的,而是受保护/私有的,并且可以由公共getter和setter访问。这样,您可以增加封装并防止在将图像本身公开时可能出现的问题。
答案 1 :(得分:0)
好吧,如果你的类扩展了Image,那么从技术上讲,你的类将继承Image类的所有属性,理论上会成为一个Image。
从你的代码中,我建议你: