我正在用Java编写一个大型游戏,我正在尝试优化代码,但也要保持代码整洁有序.现在我不确定是否应该使用具有许多实例使用的几个变量的单个类的公共静态字段.
例如,类摄像机具有x和y位置,用于定义用户正在查看的地图的哪个部分以及需要绘制到屏幕的内容.目前我正在使用5万个单位进行基准测试,我有以下选项来绘制它们.
1:在每个单元中存储对摄像机实例的引用,并在绘制时调用getX()和getY():
public void paint()
{
paint(x - camera.getX(), y - camera.getY());
}
Run Code Online (Sandbox Code Playgroud)
2:在绘制时,将摄像机的坐标作为每个单元的参数提供:
public void paint(int cameraX, int cameraY)
{
paint(x - cameraX, y - cameraY);
}
Run Code Online (Sandbox Code Playgroud)
3:使摄像机类的x和y变量保持静态:
public void paint()
{
paint(x - Camera.x, y - Camera.y);
}
Run Code Online (Sandbox Code Playgroud)
我感兴趣的是通常被视为最佳解决方案,如果它影响性能.也许有更多方法可以做到这一点我还没有想到呢?
谢谢!