【发布时间】:2011-12-28 03:12:27
【问题描述】:
我听说旧的街机横向滚动游戏使用特定的编程技巧来启用高性能横向滚动。
我知道几年前的机器还不够强大,无法像现在这样每帧重新绘制整个屏幕。有一些技术,例如 脏矩形,可以在背景静止且只有精灵移动时最小化重新绘制所需的屏幕区域。
上述方法仅在背景不变时有效(因此大部分屏幕像素保持静止)。
垂直滚动游戏,就像老式的射击游戏一样,由于滚动,每帧都会改变背景,这让事情变得更加困难。但是,可以利用像素被馈送到显示器的方式(逐行)。我想人们可以使用更大的缓冲区并将数据指针每帧“向下”移动几行,以便从另一个位置开始重新绘制,从而给人一种平滑滚动的印象。仍然只需要重新绘制精灵(以及屏幕边缘的一些背景),这是一个严重的优化。
但是,对于横向卷轴游戏,事情并不是那么简单明了。不过,我知道在过去的某个地方,有人已经进行了优化(有一些限制),允许旧机器水平滚动背景,而无需每帧都重绘它。
IIRC 它被用于许多老游戏,主要是 80 年代的 beat'em ups,以及演示场景制作中
你能描述一下这种技术并说出它的作者吗?
【问题讨论】:
-
两个出色的非重叠答案!我希望我能同时接受:-)