我正在为Android制作一个空间主题cookie点击器游戏,我已经得到了点击一个按钮并在主整数中添加一个的基本位,在这种情况下是行星。我现在想做的事情就是你购买一个物品,每隔一定数量的秒钟就会向主星球增加一定数量的行星。我为此苦苦挣扎,我尝试使用一种方法创建一个类,该方法将一个整数添加到主行星整数但是我无法访问此类中的主行星整数。
这是班级
public class Ship {
int planetAddAmount;
int planetAddTime;
public void planetAdd()
{
planets += planetAddAmount;
//^^it does not read planets as anything
}
}
所以我尝试做了getter事情(不是100%熟悉它)
public int planets;
public int planetGetter()
{
return planets;
}
但是另一个类仍然无法访问行星整数。有人可以帮我让班级了解行星整数
答案 0 :(得分:5)
如果这是所有相关代码,则您无法在任何代码中为行星分配任何内容,这就是为什么它不会读取任何内容。
在planetGetter()中,即使您为行星指定了一个值,也只返回值,而不是变量名。
答案 1 :(得分:1)
这不应该解决你的问题吗?
public class GameState {
private int planets;
public void addPlanets(int amount)
{
this.planets += amount;
}
}
public class Ship {
private int planetsAmount;
public void addPlanets(GameState gameState)
{
gameState.addPlanets(planetsAmount);
}
}
(编辑:好点) 你需要有一些全局变量来跟踪行星的数量。 为此,我使用了GameState类。因此,在程序开始时,您应该创建一个GameState实例。如果您需要更改游戏状态,可以传递此对象。
您当前的代码不起作用,因为您有一个名为planets的变量,而这个变量未在您的类中声明。
答案 2 :(得分:0)
将行星作为实例字段,以便多个方法可以访问它