我正在实施游戏,我有一些像:
GameObject (Abstract)
CircularGameObject
RectangularGameObject
它们基本上存储位置(x,y)和用于检查碰撞的不同形状。
现在我要实现类 Wall (Rectangular)和 Bomb (Circular)。两者都可以启用或禁用,所以我声明
public interface Activable {
public void setEnabled(boolean status);
public boolean isEnabled();
}
我有一个List用于存储对在碰撞中杀死玩家的物品的引用(Walls and Bombs)。 如何声明扩展GameObject并实现Activable的对象的ArrayList?
我尝试宣布一个课程:
public class ActivableGameObject extends GameObject implements Activable{};
但编译器不允许为该引用分配一个Bomb(例如,因为是一个CircularGameObject)
答案 0 :(得分:1)
试试这个......
Class Bomb extends CircularGameObject implements Activable {
}
答案 1 :(得分:1)
一种方法是:
`GameObject implements GameObjectInterface {}`
然后:
`Activable extends GameObjectInterface`
这样你可以使用make使数组使用Activable。