0

私は最近、IB MYP個人プロジェクトの一環として3Dコンピューターゲームのコーディングを開始しました。十分な量のJavaを知っていますが、クラスを連携させるのに問題があります。私がやろうとしているのは、ブロックとそのすべてのプロパティを定義するブロックと呼ばれるクラスを作成し、一意のプロパティを持つ個々のブロックを作成するたびに、ブロックの基本的な説明のためにブロッククラスを呼び出すことです。動作するextendsを試しましたが、一意のブロックごとに新しい拡張クラスを作成する必要があり、オブジェクトを作成しようとしましたが、動作しません。私の検索はすべて乾燥してしまいました。これが私のコードです:

package src;

public class Block {
    //Defines a Block

    double id; //Full = type, decimal = subtype
    String type; //Name/tooltip
    int sound; //Type of sound played on collision
    int light; //Ammount of light given off
    boolean breaks; //Wether the block is breakable
    boolean solid; //Wether the block has collision detection

}

すべての値がわずかに異なるたびに、異なるクラスでこのオブジェクトを複数回呼び出すにはどうすればよいですか?

4

2 に答える 2

2

次のように、ブロックのコンストラクターを作成できます。

public Block(double id, String type, int sound, int light, boolean breaks, boolean solid) {
    this.id = id;
    this.type = type;
    this.sound = sound;
    this.light = light;
    this.breaks = breaks;
    this.solid = solid;
}

これにより、必要な数の異なる種類のブロックを作成できます。

于 2012-07-17T18:04:10.533 に答える
0

1.値が変化し続ける場合は、このクラスをAbstractにする方がよいでしょう。

2.次に、カスタムコンストラクターを使用して、すべてのオブジェクトの状態を異なる方法で初期化できます。

例えば:

public Block(double id, String type, int sound, int light, boolean breaks, boolean solid)

3.変数の値を取得できるようにgetterメソッドを用意します。

于 2012-07-17T18:06:39.970 に答える