我正在开发一款小游戏,我正在努力让事情尽可能整洁。我已将输入处理器分成另一个类,并且它工作正常。我还设置了一个 playState 类,用于处理和创建 Box2D 的主体和固定装置。
在我的输入处理类中:
public class TouchProcessor implements InputProcessor {
//.....
@Override
public boolean touchDragged(int screenX, int screenY, int pointer) {
System.out.println("Dragging...");
touchHappening = true;
return true;
}
// ....
现在,通过触摸拖动,我想重新定位 Box2D 世界中的主体/相机。但如果我将 Processor 类与 playState 分开,我将无法访问它们。我该怎么办?
最佳答案
每次解耦应用程序部分(顺便说一句,这是一个好主意)时,您都需要制定不同部分如何协同工作的策略。
一种常见的解决方案是使用某种中央单例来使重要的游戏方法可以从其他代码访问。但单例有自己的flaws 。另一种方法是在这里使用某种事件系统。
您可能想看看这些decoupling patterns获得一些关于优秀游戏架构的想法。
关于java - Libgdx:如何从另一个输入处理类访问/修改 Box2D World?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40528612/