1

我正在用 Slick2d 用 Ja​​va 制作我的第一个游戏,并创建了一个类平面。(我也是java新手)

我不确定从我的类中的 Image 类扩展是否正确,或者我最好在我的类中使用公共 Image 属性(公共以便在项目的其余部分轻松访问它的方法)

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));
}

}
4

2 回答 2

5

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

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

于 2012-04-02T20:46:48.533 回答
0

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

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

  1. 无需扩展 Image,只需在您的类中创建一个 Image 变量。
  2. 扩展 Image,然后创建另一个使用该 Image 的类。
于 2012-04-02T21:05:46.460 回答