为我的游戏创建一个类(Slick)

时间:2012-04-02 20:36:42

标签: java slick2d

我正在使用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));
}

}

2 个答案:

答案 0 :(得分:5)

我不知道slick2d,但我会说你的课不应该扩展Image但是要有图像属性。扩展是一种说“平面图像”的方式,通常不是这种情况,而是平面具有纹理/图像。

此外,图像不应该是公共的,而是受保护/私有的,并且可以由公共getter和setter访问。这样,您可以增加封装并防止在将图像本身公开时可能出现的问题。

答案 1 :(得分:0)

好吧,如果你的类扩展了Image,那么从技术上讲,你的类将继承Image类的所有属性,理论上会成为一个Image。

从你的代码中,我建议你:

  1. 只需在班级中创建一个Image变量,而不是扩展Image。
  2. 扩展图像,然后创建另一个使用此图像的类。