我目前正在尝试用自上而下的视角编写一个简单的射击游戏。我正在使用 SurfaceView 和 Canvas 在屏幕上绘制图形,但我不知道如何使“相机”可滚动。玩家角色始终位于屏幕中央,并且相机(本质上是 SurfaceView 的画布)应该一直跟随他(例如,就像在 Alien Swarm 中一样)。但是,我无法弄清楚如何定期实现这一点。我现在这样做的方式是根据玩家的输入移动游戏世界中的所有其他对象 - 如果它们的坐标恰好在屏幕上,则绘制它们。玩家始终停留在相同的坐标上。有什么方法可以实际移动(滚动) SurfaceView 本身?我看到了 Scroll 小部件和 SurfaceView 方法。scrollBy(int x, int y),但我尝试实现其中任何一个都会导致强制关闭。任何帮助表示赞赏,在此先感谢!
PS 只是一个注释——我对在这个项目中使用 open GL 不感兴趣。