0

私はゲームを実装していて、次のようないくつかのクラスがあります。

GameObject (Abstract)
CircularGameObject
RectangularGameObject

基本的に、衝突をチェックするための位置(x、y)とさまざまな形状を保存します。

次に、 Wall(長方形)クラスとBomb(円形)クラスを実装します。両方を有効または無効にできるので、宣言します

 public interface Activable {

     public void setEnabled(boolean status);
     public boolean isEnabled();
 }

そして、衝突でプレイヤーを殺すアイテム(壁と爆弾)への参照を保存するためのリストが1つあります。GameObjectを拡張してActivableを実装するオブジェクトのArrayListを宣言するにはどうすればよいですか?

クラスを宣言してみました:

 public class ActivableGameObject extends GameObject implements Activable{};

ただし、コンパイラは、たとえば、その参照に爆弾を割り当てることを許可していません(CircularGameObjectであるため)

4

2 に答える 2

1

これを試して...

Class Bomb extends CircularGameObject implements Activable {

} 
于 2012-08-15T09:46:11.740 に答える
1

1つの方法は、次のことです。

`GameObject implements GameObjectInterface {}`

それから:

`Activable extends GameObjectInterface`

そうすれば、配列にActivableを使用させることができます。

于 2012-08-15T09:50:59.767 に答える