我最近开始编写一个3D计算机游戏作为我的IB MYP个人项目的一部分,虽然我知道足够数量的Java,但我遇到麻烦让我的课程一起工作。我要做的是创建一个名为块的类,它定义一个块及其所有属性,然后每次创建具有唯一属性的单个块时,调用块类以获取块的基本描述。我已经尝试过扩展,但是我必须为每个独特的块创建一个新的扩展类,我尝试创建一个对象,但它不起作用。我所有的搜索都变干了。这是我的代码:
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
}
如何在不同的课程中多次调用此对象,每次所有值略有不同?
答案 0 :(得分:2)
你可以拥有一个Block的构造函数,如下所示:
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;
}
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;
}
通过这种方式,您可以根据需要创建任意数量的块。
答案 1 :(得分:0)
1。如果值不断变化,最好将此类设为抽象。
2. 然后您可以使用自定义构造函数以不同方式初始化每个对象的状态。
例如:
public Block(double id, String type, int sound, int light, boolean breaks, boolean solid)
3。 getter方法,以便您可以获取变量的值。