我的英语不好。 所以我正在做一个游戏,我有问题。 (Libgdx,但确实无关紧要) SolarGame是一个主类,它是一个输入处理程序。 TesterClass有一个render方法。 闪电正在产生一些数据。
public class SolarGame implements ApplicationListener, InputProcessor {
TesterClass testerClass;
bool inputbool = false; //That bool is change, when event is happen
public bool getBool(){
return inputbool
}
public void create () {
testerClass = new TesterClass();
}
//some other code here
public class TesterClass {
Lightning lightning;
public void _init_() {
lightning = new Lightning();
}
//Some code here
public class Lightning {
public Lightning() {
bool input = SolarGame.this.getBool();
//This line cause an error.
如果将SolarGame更改为静态,我会收到其他一些错误。 但我需要在Lightning类中访问inputbool。 当事件发生时,我需要停止Lightning数据生成方法。
再次嘲笑我的英语。
答案 0 :(得分:1)
所以如果我明白这一点你需要在Lightning课程中使用SolarGame的一个实例吗?因为很难理解实际问题是什么,代码也没有多大帮助。
在Lightning中获取SolarGame的实例非常简单。你只需在创建照明时传递它:
public class Lightning{
SolarGame game;
public Lightning(SolarGame game){
this.game = game;
}
}
现在,您可以毫无问题地访问 inputbool ,而无需将任何类更改为静态:
bool inputbool = game.getBool();
由于您在 TesterClass 中创建了 Lightning 类,因此您需要将 SolarGame 的实例传递给 TesterClass 与上述方法相同。
我希望我已经解决了你的问题