Java滚动背景

时间:2012-02-13 02:41:46

标签: java scroll

你如何在Java中滚动背景,使它看起来像一个精灵正在移动?我正在使用Applet。有没有比让游戏中的所有对象向左或向右移动更有效的方法?

1 个答案:

答案 0 :(得分:6)

大多数游戏每帧重绘整个背景,然后在其上重绘所有精灵。

如果你的背景只是一个大图像,那么这是非常有效的(因为内存 - >内存图像副本非常快)。

保持2D游戏中滚动的感觉:

  • 定义一对坐标(scrollX,scrollY),用于存储屏幕左上角的当前滚动位置。
  • 只要您想滚动(例如关注播放器)
  • ,您就可以更新scrollX和ScrollY
  • 为每个精灵提供相对于游戏世界(即游戏背景)和相对于屏幕位置的坐标(spriteX,spriteY)。滚动后,您无需更改这些数字....
  • 然后你需要在屏幕位置(-scrollX,-scrollY)和每个精灵(spriteX-scrollX,spriteY-scrollY)绘制背景。
  • Java应该为您处理屏幕剪辑。但是如果您的游戏世界和背景很大,那么您可能需要一些额外的技术来避免尝试绘制屏幕外对象的开销(这将在游戏开发术语中称为“视图截顶剔除”)